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的子进程销毁后,是否还可以重新创建?
802浏览 • 0回复 待解决
HarmonyOS 可以在build中复用同一个组件对象(而不是重新创建)
824浏览 • 1回复 待解决
跨账号迁移到PolarDB是否需要在polarDB重新创建用户及赋予表权限?
4605浏览 • 1回复 待解决
HarmonyOS DevEco Studio 新创建Module 无内容显示
1251浏览 • 1回复 待解决
HarmonyOS createAudioCapturer失败,报系统处理异常,多次重新创建业务均无效
1459浏览 • 1回复 待解决
HarmonyOS 新创建的ability返回时默认压入后台而不是销毁
688浏览 • 1回复 待解决
HarmonyOS 开通服务后,需要重新配置调试和发布Profile吗,证书需要重新配置吗
1061浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何使用rpath机制解决HarmonyOS中新创建目录下的native库加载问题?
714浏览 • 1回复 待解决
HarmonyOS list中传入一个sendable属性的数组,数据源变化时,里面的item一直在重新创建,有啥办法避免吗?
950浏览 • 1回复 待解决
HarmonyOS request下载文件后使用fs.listFileSync无法查找到
1017浏览 • 1回复 待解决
HarmonyOS CustomDialog关闭后重新打开,内部状态丢失问题
1222浏览 • 1回复 待解决
HarmonyOS 创建子窗口后相关问题
678浏览 • 1回复 待解决
webview选择本地文件关闭文件打开方式弹窗后无法获取弹窗关闭事件
9545浏览 • 4回复 待解决
PolarDB实例创建并支付完成后,如何创建新账号?
4068浏览 • 1回复 待解决
网络请求创建后,持久化问题
1739浏览 • 1回复 待解决
HarmonyOS fs open 向createasset创建的图片uri 写入数据流/数据块 失败,只能使用完整buffer写入成功
1404浏览 • 1回复 待解决
HarmonyOS PixelMap对象有创建的API,没有release的API,这个对象是不需要释放的吗
1118浏览 • 1回复 待解决
HarmonyOS TextController创建后,立即设置 StyledString不会显示
1034浏览 • 1回复 待解决
HarmonyOS 创建子window后横竖屏切换问题
1220浏览 • 1回复 待解决
HarmonyOS 如何创建json对象
1530浏览 • 1回复 待解决
HarmonyOS 不支持这种创建对象的方式吗
1203浏览 • 1回复 待解决
HarmonyOS 包名修改后是否需要重新生成密匙和证书请求文件
1195浏览 • 1回复 待解决
HarmonyOS hiAppEvent支持崩溃后立刻可以设置某些参数
802浏览 • 1回复 待解决
HarmonyOS 应用子窗口创建后,未显示对应内容
1378浏览 • 1回复 待解决
HarmonyOS 使用documentViewPicker选择文件获取文件路径后使用fs.readText读取文件内容失败
1134浏览 • 1回复 待解决
可能是文件指针的位置问题。通常情况下,文件创建或写入操作会改变文件的指针位置,导致后续的读取操作无法立即访问到数据,关闭写入流后再打开文件进行读取操作,可以确保文件指针位置正确,从而避免读取失败的问题