HarmonyOS 鸿蒙Next文件基础操作总结

HarmonyOS 鸿蒙Next文件基础操作总结

鸿蒙文件基础操作总结

关键词

鸿蒙,基础文件操作,文件读写能力

问题描述

我们游戏项目集成了华为应用内支付服务,在支付成功后需要获取华为接口返回的加密的JWS格式的订单信息,并上报到我们服务端解密后获取对应的json格式的订单信息做校验。

开发测试阶段,先由客户端获取一个jws数据供服务端做调测。

该jws格式数据因数据太长,日志打印不能完全打印出来,获取不到完整的数据导致解析异常。因此想到了用文件读写保存的方式,鸿蒙新手简单记录下鸿蒙文件基本读写问题。

问题解决

根据鸿蒙官方文档 介绍,通过基础文件操作接口(ohos.file.fs)实现应用文件访问能力。

代码开始前导入该接口能力:

import fs, { ReadOptions } from '@ohos.file.fs';

通过UIAbilityContext、AbilityStageContext、ExtensionContext可以获取HAP级别通用应用文件路径,该路径下的文件随HAP的卸载而删除。

const context = getContext(this) as common.UIAbilityContext;
const filesDir = context.filesDir;

打印出来的实际路径为"/data/storage/el2/base/haps/entry/files"。

然后在该路径下使用fs的mkdir方法创建一个文件夹brower:

await fs.mkdir(filesDir + "/brower");

然后创建一个可读写的purchaseOrderPayload文件,fs.OpenMode.CREATE在没有该文件时会自动创建文件,fs.OpenMode.READ_WRITE表示读写权限,并以“|”间隔开:

let fd = await fs.open(filesDir + "/brower/purchaseOrderPayload.txt", fs.OpenMode.CREATE | fs.OpenMode.READ_WRITE);

创建后将jws信息写入文件中:

fs.write(fd.fd, jwsPurchaseOrder);

最后关闭文件:

await fs.close(fd);

代码完成后运行代码,可使用deveco工具找到"/data/storage/el2/base/haps/entry/files"路径并查看该文件,保存本地。


更多关于HarmonyOS 鸿蒙Next文件基础操作总结的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于HarmonyOS 鸿蒙Next文件基础操作总结的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


HarmonyOS Next 是鸿蒙系统的下一代版本,文件基础操作主要包括文件的创建、读取、写入、删除和移动。文件系统采用分布式架构,支持跨设备文件访问。文件路径使用统一的 URI 格式,支持本地和远程文件操作。文件读写通过 FileFileReaderFileWriter 类实现。文件删除和移动通过 File 类的 delete()moveTo() 方法完成。文件权限管理通过 PermissionManager 实现,支持细粒度的权限控制。文件缓存通过 CacheManager 进行管理,支持自动清理和手动清理。文件同步通过 SyncManager 实现,支持多设备间文件同步。文件加密通过 CryptoManager 提供加密和解密功能,支持多种加密算法。文件压缩通过 CompressManager 提供压缩和解压功能,支持多种压缩格式。文件分享通过 ShareManager 实现,支持跨设备文件分享。文件监控通过 FileMonitor 实现,支持文件变化的实时监控。

回到顶部