尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

HarmonyOS应用开发实战:猫猫大作战-fileIo 文件读写

HarmonyOS应用开发实战:猫猫大作战-fileIo 文件读写
📅 发布时间:2026/7/29 15:22:07

前言

fileIo是 HarmonyOS 的文件 I/O 模块,支持文件的打开、读写、删除等操作。在「猫猫大作战」中,fileIo 用于保存游戏截图文件、读取配置文件。

一、文件读写

import { fileIo } from '@kit.CoreFileKit'; async function writeTextFile(path: string, content: string): Promise<void> { 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): Promise<string> { 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)打开文件返回 FD
readSync(fd, buf)读取读入 ArrayBuffer
writeSync(fd, buf)写入写入 ArrayBuffer
closeSync(fd)关闭释放 FD
unlinkSync(path)删除删除文件
mkdirSync(path)创建目录递归创建
statSync(path)获取状态大小、修改时间

三、文件打开模式

模式说明文件不存在
READ_ONLY只读报错
WRITE_ONLY只写报错
CREATE创建文件创建
TRUNC清空内容(配合 WRITE)-
APPEND追加报错

四、游戏中的应用

// 保存游戏截图 async function saveScreenshot(pixelMap: PixelMap, path: string): Promise<void> { 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); }

五、最佳实践

  1. 用完关闭 FD:closeSync(fd)释放资源
  2. try-finally 保证关闭:异常时也要 close
  3. 路径使用沙箱目录:filesDir、cacheDir
  4. 大文件分块读写:单次读写不超 1MB

总结

fileIo 提供文件打开、读写、删除等基础操作。核心要点:openSync打开、readSync/writeSync读写、closeSync关闭释放、 沙箱路径安全操作。

如果这篇文章对你有帮助,欢迎点赞👍、收藏⭐、关注🔔,你的支持是我持续创作的动力!


相关资源:

  • fileIo API 参考
  • 第 140 篇:AppStorage
  • 第 142 篇:sandbox-path
  • 第 143 篇:JSON

相关新闻

  • RAG 延迟优化 checklist:30 个你可以在一个下午做完的降延迟措施
  • 英雄联盟Akari助手:基于LCU API的智能游戏效率工具完整指南
  • MMC小信号建模技术详解与应用实践

最新新闻

  • 2026年河源黄金回收全攻略:河源源奢汇领衔5家正规门店排名,1区5县免费上门 - 生活测评小能手
  • 2026江门全域外墙漏水维修|筑宅安16区上门勘查施工 - 筑宅安
  • Java高并发编程:ConcurrentHashMap核心原理与实战应用
  • Postman集成ForgeJS实现RSA加解密:API测试安全接口实战指南
  • 零基础制作小程序怎么做?2026小程序制作平台哪个好用?
  • 小程序制作省钱攻略!2026便宜好用的小程序制作平台有哪些?

日新闻

  • 金融舆情监测系统:多语言情感分析与实时可视化技术解析
  • QT C++调用Python异常处理:PyBind11实战与跨语言编程指南
  • A-47双麦回音消除模块:主次麦空间分布与差分连接对ENC性能的影响

周新闻

  • 大连理工大学与东京大学联手打造的“主动型AI助手“
  • 170.2026年国家级科研瓶颈:超精密单点金刚石切削(SPDT)光学表面生成
  • SongBloom:革命性歌曲生成框架深度解析——如何通过交织自回归与扩散模型创作完整音乐

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号