HarmonyOS 鸿蒙Next 文件追加写入,保存不成功问题
HarmonyOS 鸿蒙Next 文件追加写入,保存不成功问题
let line=“12:01 中國 香港科技探索(01137)上半年訂單總商品交易額約42.4億港元 同比增長4.85%”
let fileName=“C20240715”+".dat";
let pathDir = globalThis.mainAbilityContext.filesDir;
let fileStr:string=pathDir+"/"+fileName;
let destFile = fs.openSync(fileStr, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE|fs.OpenMode.APPEND);//若不存在则创建,追加写入
// 写入至目的文件
let newsBuffer:Uint8Array=TQMisc.stringToUint8Array(line,line.length*2);
let buf:ArrayBuffer=newsBuffer.buffer;
if (newsBuffer.length > 0) {
let len=fs.writeSync(destFile.fd, buf);
TQMisc.debug(TAG,saveUpdateToFile file ${fileName} line:${line}
);
}
fs.closeSync(destFile); // 关闭文件
C20240715.dat 这个文件本身已经有很多内容并且存在的。这段追加读写代码执行不成功。
是openSync后面的Mode用的不对么?
2 回复
针对HarmonyOS 鸿蒙Next 文件追加写入保存不成功的问题,可能的原因及解决方案如下:
-
数据库限制:
- 鸿蒙系统的数据库对写操作有并发限制,同时单条数据大小有限制(一般不超过2M)。请检查写入操作是否违反了这些限制。
-
文件权限问题:
- 确保应用具有对目标文件的写入权限。可以在文件属性中检查并修改权限设置。
-
存储空间不足:
- 检查设备的存储空间是否充足,不足时清理不必要的文件或移动文件到其他存储设备。
-
文件系统或系统兼容性问题:
- 确保鸿蒙系统版本与文件系统兼容,并查看是否有相关系统更新或补丁可解决此问题。
-
代码实现问题:
- 检查代码中的文件写入逻辑是否正确,包括文件路径、打开方式(是否为追加写入模式)等。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html 。在联系客服时,请提供详细的错误信息和相关日志,以便客服人员更快地定位并解决问题。