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 没有权限
想问一下 resourceDir
,resfile
文件下的文件是否支持 文件写入操作?
更多关于HarmonyOS 鸿蒙Next 使用 fs.open(filePath,fs.OpenMode.READ_WRITE) 给 resourceDir 下的文件写入数据 报错 13900012的实战教程也可以访问 https://www.itying.com/category-93-b0.html
你的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,