第二次读取rawfile下的文件会时报错,错误码13900008

清风明月 显示全部楼层 发表于 2023-8-28 16:34:20

【问题描述】

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)

您尚未登录,无法参与评论,登录后可以:
参与开源共建问题交流
认同或收藏高质量问答
获取积分成为开源共建先驱

精彩评论1

努力写bug

沙发 发表于 2023-8-28 18:42:56
resourcemanager打开的资源fd需使用resourcemanager的closeRawFileDescriptor接口关闭进行资源清理,而不要用fs.closeSync清理

Copyright   ©2023  OpenHarmony开发者论坛  京ICP备2020036654号-3 |技术支持 Discuz!

返回顶部