HarmonyOS 文件创建/写入后,无法立刻读出,需要关闭后重新创建fs对象吗?
let savePath: string = getContext().filesDir;
let filePath = savePath + '/test2.txt';
let file = fs.openSync(filePath, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);
let str: string = 'hello, world';
let arrayBuffer = new ArrayBuffer(4096);
fs.write(file.fd, str).then((writeLen: number) => {
console.log(`fs IO test: fd = ${file.fd} write ${str}, size = ${writeLen}`)
// fs.closeSync(file)
// file = fs.openSync(filePath, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);
fs.read(file.fd, arrayBuffer, (err, readLen: number) => {
if(err) {
console.log(`fs IO test: read failed`)
} else {
console.log(`fs IO test: fd = ${file.fd} read ${buffer.from(arrayBuffer, 0, readLen).toString()} size = ${readLen}`)
}
fs.closeSync(file)
})
}).catch(() => {
console.log(`fs IO test: write failed`)
})
代码如上,可以创建文件并写入文件,读出的文件内容为空;取消中间注释后可以读出文件内容,请问是什么原理?
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
鸿蒙开发中定位扩展Ability的子进程销毁后,是否还可以重新创建?
166浏览 • 0回复 待解决
跨账号迁移到PolarDB是否需要在polarDB重新创建用户及赋予表权限?
3514浏览 • 1回复 待解决
HarmonyOS 可以在build中复用同一个组件对象(而不是重新创建)
44浏览 • 1回复 待解决
HarmonyOS createAudioCapturer失败,报系统处理异常,多次重新创建业务均无效
581浏览 • 1回复 待解决
HarmonyOS DevEco Studio 新创建Module 无内容显示
106浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何使用rpath机制解决HarmonyOS中新创建目录下的native库加载问题?
59浏览 • 1回复 待解决
HarmonyOS list中传入一个sendable属性的数组,数据源变化时,里面的item一直在重新创建,有啥办法避免吗?
288浏览 • 1回复 待解决
HarmonyOS request下载文件后使用fs.listFileSync无法查找到
20浏览 • 1回复 待解决
HarmonyOS CustomDialog关闭后重新打开,内部状态丢失问题
541浏览 • 1回复 待解决
webview选择本地文件关闭文件打开方式弹窗后无法获取弹窗关闭事件
8546浏览 • 4回复 待解决
PolarDB实例创建并支付完成后,如何创建新账号?
3110浏览 • 1回复 待解决
网络请求创建后,持久化问题
639浏览 • 1回复 待解决
HarmonyOS 创建子window后横竖屏切换问题
46浏览 • 1回复 待解决
HarmonyOS TextController创建后,立即设置 StyledString不会显示
30浏览 • 1回复 待解决
HarmonyOS 包名修改后是否需要重新生成密匙和证书请求文件
457浏览 • 1回复 待解决
HarmonyOS 如何创建json对象
506浏览 • 1回复 待解决
HarmonyOS 不支持这种创建对象的方式吗
68浏览 • 1回复 待解决
HarmonyOS PixelMap对象有创建的API,没有release的API,这个对象是不需要释放的吗
57浏览 • 1回复 待解决
HarmonyOS 应用子窗口创建后,未显示对应内容
41浏览 • 1回复 待解决
HarmonyOS react-native-fs-2.20.0-0.1.4 版本har编译后无cpp文件
171浏览 • 1回复 待解决
现在不能直接创建.ts的文件吗?
186浏览 • 1回复 待解决
DevEco Studio和系统升级后,EntryAbility.ets文件创建悬浮窗失败
503浏览 • 1回复 待解决
创建的单例换了页面后不生效问题
2226浏览 • 3回复 待解决
创建PolarDB数据库集群后,还需要设置什么才能连接和使用集群?
3152浏览 • 1回复 待解决
可能是文件指针的位置问题。通常情况下,文件创建或写入操作会改变文件的指针位置,导致后续的读取操作无法立即访问到数据,关闭写入流后再打开文件进行读取操作,可以确保文件指针位置正确,从而避免读取失败的问题