HarmonyOS应用开发实战:猫猫大作战-fileIo 文件读写 前言fileIo是 HarmonyOS 的文件 I/O 模块支持文件的打开、读写、删除等操作。在「猫猫大作战」中fileIo 用于保存游戏截图文件、读取配置文件。一、文件读写import { fileIo } from kit.CoreFileKit; async function writeTextFile(path: string, content: string): Promisevoid { const file fileIo.openSync(path, fileIo.OpenMode.CREATE | fileIo.OpenMode.WRITE_ONLY | fileIo.OpenMode.TRUNC); const encoder new TextEncoder(); fileIo.writeSync(file.fd, encoder.encode(content)); fileIo.closeSync(file); } async function readTextFile(path: string): Promisestring { const file fileIo.openSync(path, fileIo.OpenMode.READ_ONLY); const stat fileIo.statSync(path); const buf new ArrayBuffer(stat.size); fileIo.readSync(file.fd, buf); fileIo.closeSync(file); return new TextDecoder().decode(buf); }二、文件操作方法方法功能说明openSync(path, mode)打开文件返回 FDreadSync(fd, buf)读取读入 ArrayBufferwriteSync(fd, buf)写入写入 ArrayBuffercloseSync(fd)关闭释放 FDunlinkSync(path)删除删除文件mkdirSync(path)创建目录递归创建statSync(path)获取状态大小、修改时间三、文件打开模式模式说明文件不存在READ_ONLY只读报错WRITE_ONLY只写报错CREATE创建文件创建TRUNC清空内容配合 WRITE-APPEND追加报错四、游戏中的应用// 保存游戏截图 async function saveScreenshot(pixelMap: PixelMap, path: string): Promisevoid { const packer image.createImagePacker(); const buffer await packer.packing(pixelMap, { format: image/jpeg, quality: 85, }); packer.release(); const file fileIo.openSync(path, fileIo.OpenMode.CREATE | fileIo.OpenMode.WRITE_ONLY | fileIo.OpenMode.TRUNC); fileIo.writeSync(file.fd, buffer); fileIo.closeSync(file); }五、最佳实践用完关闭 FDcloseSync(fd)释放资源try-finally 保证关闭异常时也要 close路径使用沙箱目录filesDir、cacheDir大文件分块读写单次读写不超 1MB总结fileIo 提供文件打开、读写、删除等基础操作。核心要点openSync打开、readSync/writeSync读写、closeSync关闭释放、 沙箱路径安全操作。如果这篇文章对你有帮助欢迎点赞、收藏⭐、关注你的支持是我持续创作的动力相关资源fileIo API 参考第 140 篇AppStorage第 142 篇sandbox-path第 143 篇JSON