HarmonyOS 鸿蒙Next 请问读写文件目录的对应关系 总是报 No such file or directory

HarmonyOS 鸿蒙Next 请问读写文件目录的对应关系 总是报 No such file or directory

Js-Engine: ark

page: pages/Index.js

Error message: No such file or directory

SourceCode:

```javascript
let file = fs.openSync(filePath, fs.OpenMode.READ_WRITE);

代码如下:

pathDir = this.context.filesDir;
let filePath = this.pathDir + "/myfile";
let file = fs.openSync(filePath, fs.OpenMode.READ_WRITE); //这一步报错

更多关于HarmonyOS 鸿蒙Next 请问读写文件目录的对应关系 总是报 No such file or directory的实战教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

这边使用代码是可以的,EntryAbility里:

let pathDir = this.context.filesDir;
let filePath = pathDir + "/myfile";
hilog.info(0x0000, 'testTag', '%{public}s', filePath);

更多关于HarmonyOS 鸿蒙Next 请问读写文件目录的对应关系 总是报 No such file or directory的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


请问你的myfile文件,开发时放在哪个目录下

请问解决了吗?
我也是遇到了这样的问题,

在HarmonyOS(鸿蒙)Next中,读写文件时出现“No such file or directory”错误通常是由于文件路径不正确或文件不存在导致的。鸿蒙Next的文件系统与Android类似,应用的数据存储路径分为内部存储和外部存储。

  1. 内部存储路径:应用私有目录,通常位于/data/data/<package_name>/。应用可以在此目录下读写文件,其他应用无法访问。例如,/data/data/com.example.app/files/

  2. 外部存储路径:共享存储目录,通常位于/storage/emulated/0/。应用需要申请存储权限才能访问此目录。例如,/storage/emulated/0/Download/

  3. 文件路径的获取:可以使用context.getFilesDir()获取内部存储的文件目录,使用context.getExternalFilesDir(null)获取外部存储的应用私有目录。

  4. 常见问题

    • 文件路径拼写错误或路径不存在。
    • 未申请存储权限,无法访问外部存储。
    • 文件路径未正确拼接,导致无法找到文件。
  5. 解决方法

    • 确保文件路径正确,路径中的斜杠应为正斜杠/
    • 检查文件是否存在,若不存在需先创建文件。
    • 确保应用已申请并获取了存储权限。

总结:检查文件路径是否正确,确保文件存在,并确认应用具有访问存储的权限。

回到顶部