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 的选用。
如果这篇文章对你有帮助,欢迎点赞👍、收藏⭐、关注🔔,你的支持是我持续创作的动力!
相关资源:
更多推荐


所有评论(0)