HarmonyOS 鸿蒙Next 文件追加写入,保存不成功问题

发布于 1周前 作者 h691938207 最后一次编辑是 5天前 来自 鸿蒙OS

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 回复

可以使用字符串的方式写入文件。

或者提供相关日志以便分析。

参考文档:fs.writeSync

针对HarmonyOS 鸿蒙Next 文件追加写入保存不成功的问题,可能的原因及解决方案如下:

  1. 数据库限制

    • 鸿蒙系统的数据库对写操作有并发限制,同时单条数据大小有限制(一般不超过2M)。请检查写入操作是否违反了这些限制。
  2. 文件权限问题

    • 确保应用具有对目标文件的写入权限。可以在文件属性中检查并修改权限设置。
  3. 存储空间不足

    • 检查设备的存储空间是否充足,不足时清理不必要的文件或移动文件到其他存储设备。
  4. 文件系统或系统兼容性问题

    • 确保鸿蒙系统版本与文件系统兼容,并查看是否有相关系统更新或补丁可解决此问题。
  5. 代码实现问题

    • 检查代码中的文件写入逻辑是否正确,包括文件路径、打开方式(是否为追加写入模式)等。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html 。在联系客服时,请提供详细的错误信息和相关日志,以便客服人员更快地定位并解决问题。

回到顶部