HarmonyOS应用开发实战:猫猫大作战-fileIo 的文本文件操作
前言
fileIo是 HarmonyOS 提供的文件系统操作 API,支持文件的创建、读写、删除等操作。在需要自定义配置文件的场景中,fileIo + JSON 序列化是一种灵活的存储方案。
本文以「猫猫大作战」的配置文件读写为锚点,讲解 fileIo 的文本文件操作。
提示:本系列不讲 ArkTS 基础语法与环境搭建,假设你已跟完第 1–140 篇。本篇是阶段四第 141 篇。
一、fileIo 文件读写
1.1 写入文件
import { fileIo } from '@kit.CoreFileKit'; import { common } from '@kit.AbilityKit'; import { json } from '@kit.ArkTS'; async function saveConfig<T>(key: string, data: T) { const context = getContext() as common.UIAbilityContext; const filePath = context.filesDir + '/' + key + '.json'; const file = fileIo.openSync(filePath, fileIo.OpenMode.CREATE | fileIo.OpenMode.WRITE_ONLY); fileIo.writeSync(file.fd, JSON.stringify(data)); fileIo.closeSync(file); }1.2 读取文件
async function loadConfig<T>(key: string, defaultVal: T): Promise<T> { try { const context = getContext() as common.UIAbilityContext; const filePath = context.filesDir + '/' + key + '.json'; const file = fileIo.openSync(filePath, fileIo.OpenMode.READ_ONLY); const content = fileIo.readSync(file.fd); fileIo.closeSync(file); return JSON.parse(content) as T; } catch { return defaultVal; } }二、总结
fileIo 实现文件的读写操作,配合 JSON.serialize/parse 实现结构化数据持久化。
核心要点:
openSync/readSync/writeSync/closeSync同步文件操作- 路径使用
context.filesDir JSON.stringify/parse序列化/反序列化
下一篇预告:第 142 篇将深入 sandbox 路径——filesDir/cacheDir 的选用。
如果这篇文章对你有帮助,欢迎点赞👍、收藏⭐、关注🔔,你的支持是我持续创作的动力!
相关资源:
- fileIo API 参考
- 开源鸿蒙跨平台社区
- 第 140 篇:AppStorage
- 第 142 篇:sandbox 路径
