HarmonyOS 鸿蒙Next 使用 fs.open(filePath,fs.OpenMode.READ_WRITE) 给 resourceDir 下的文件写入数据 报错 13900012

HarmonyOS 鸿蒙Next 使用 fs.open(filePath,fs.OpenMode.READ_WRITE) 给 resourceDir 下的文件写入数据 报错 13900012

使用 fs.open(filePath, fs.OpenMode.READ_WRITE) 就报错 13900012 没有权限
想问一下 resourceDirresfile 文件下的文件是否支持 文件写入操作?

cke_161.png


更多关于HarmonyOS 鸿蒙Next 使用 fs.open(filePath,fs.OpenMode.READ_WRITE) 给 resourceDir 下的文件写入数据 报错 13900012的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

你的resourceDir是那个路径能,输出看一下?

我本地测试了下,确实没有权限,修改为只读是正常的:

let filePath = getContext().resourceDir+"/test.json"
// fs.open(filePath,fs.OpenMode.READ_WRITE, (err: BusinessError,file:fs.File))
fs.open(filePath, fs.OpenMode.READ_ONLY).then((file: fs.File) => {
  console.info("file fd: " + file.fd);
  fs.closeSync(file);
}).catch((err: BusinessError) => {
  console.error("open file failed with error message: " + err.message + ", error code: " + err.code);
});

更多关于HarmonyOS 鸿蒙Next 使用 fs.open(filePath,fs.OpenMode.READ_WRITE) 给 resourceDir 下的文件写入数据 报错 13900012的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


针对您提到的HarmonyOS鸿蒙Next系统中使用fs.open(filePath, fs.OpenMode.READ_WRITE)resourceDir下的文件写入数据时遇到的报错13900012,这通常是由于权限问题或者文件路径不正确引起的。

在HarmonyOS中,resourceDir通常指的是应用的资源目录,该目录下的文件一般是只读的,不允许直接修改。因此,尝试以读写模式打开这些文件可能会导致权限错误。

解决方案可能包括:

  • 检查文件路径:确保filePath正确指向了您想要操作的文件。由于resourceDir是只读目录,尝试操作其他目录(如应用的私有存储目录)下的文件。
  • 修改文件操作权限:如果确实需要在resourceDir下写入数据,这可能涉及应用权限的调整或设计上的改动,但通常不推荐这样做,因为这违反了应用沙箱的安全原则。
  • 使用适当的API:确认您使用的API和调用方式符合HarmonyOS的规范。

如果上述信息未能解决您的问题,可能是由于特定场景或系统版本的差异导致。此时,您可以参考HarmonyOS的官方文档或更新日志,以获取更多关于错误码13900012的详细信息。

如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html

回到顶部