OpenHarmony开发者论坛

标题: 第二次读取rawfile下的文件会时报错,错误码13900008 [打印本页]

作者: 清风明月    时间: 2023-8-28 16:34
标题: 第二次读取rawfile下的文件会时报错,错误码13900008
[md]【问题描述】

1.在rawfile下放一个文本文件aaa

2.调用 let value = await resourceManager.getRawFd("fd")  获取文件fd

3.调用fs.readSync(value.fd,buf) 同步读取文件,可以读取成功

4.调用fs.closeSync(value.fd)关闭

5.。。。。。其他业务操作

6.新的场景时,再次let value = await resourceManager.getRawFd("fd")  获取文件fd

7.调用fs.readSync(value.fd,buf) 同步读取文件,报错13900008

8.如果前面不调用closeSync,也无法再次读取到文件内容

但是我的业务逻辑是希望能多次读取这个文件的内容,难道只能将文件内容缓存到内存呢?有没有其他的办法?

【运行环境】

设备:rk3568 ROM:3.2Release api9   DevecoStudio: 3.1 Beta2(3.1.0.400)
[/md]
作者: 努力写bug    时间: 2023-8-28 18:42
resourcemanager打开的资源fd需使用resourcemanager的closeRawFileDescriptor接口关闭进行资源清理,而不要用fs.closeSync清理





欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/) Powered by Discuz! X3.5