#鸿蒙学习大百科#调用fs.write报错如下,如何解决?

调用fs.write报错Failed to write data. Code is 13900008, message is Bad file descriptor。


HarmonyOS
2024-10-14 10:44:52
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
朝花惜拾丶

可能原因:

(1)此文件描述符已关闭。

(2)读写权限不匹配。

处理步骤:

(1)确认此文件描述符是否已关闭。

(2)确认此文件读写权限是否匹配。

let applicationContext = this.context.getApplicationContext();
let cacheDir = applicationContext.cacheDir;
let filePath = cacheDir + "/test1.txt"
fs.open(filePath, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE).then((file: fs.File) => {
 //fs.OpenMode.READ_WRITE 注意这句不能丢
   write("aaa",file)
})

async function write(data: string, file: fs.File): Promise<void> {
  fs.write(file.fd, data).then((writeLen: number) => {
    console.info('write data length is: ' + writeLen)
  }).catch((err: BusinessError) => {
    console.error(`Failed to write data. Code is ${err.code}, message is ${err.message}`);
  })
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
分享
微博
QQ
微信
回复
2024-10-14 14:58:10


相关问题