HarmonyOS 鸿蒙Next中如何存储文件到外部存储卡
HarmonyOS 鸿蒙Next中如何存储文件到外部存储卡
获取UUID生成文件存储在用户手机上,下次用户卸载应用再重新安装 也能检测到已绑定的设备,
这个文件如何存储在指定路径
2 回复
在HarmonyOS Next中存储文件到外部存储卡,使用@ohos.file.fs
API。首先通过getStorageAccess().request
申请外部存储权限。然后使用fs.open
或fs.createStream
创建文件流,指定路径为/mnt/external_storage/
目录下的子路径。写入完成后调用close
释放资源。注意:应用需在module.json5
中声明ohos.permission.READ_MEDIA
和ohos.permission.WRITE_MEDIA
权限。
更多关于HarmonyOS 鸿蒙Next中如何存储文件到外部存储卡的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS Next中,可以使用以下方式将文件存储到外部存储卡并实现设备绑定持久化:
- 获取外部存储权限:
首先需要在
config.json
中声明存储权限:
"reqPermissions": [
{
"name": "ohos.permission.WRITE_USER_STORAGE"
}
]
- 使用UUID生成设备标识:
import { systemuuid } from '@ohos.system.uuid';
let uuid = systemuuid.getRandomUUID();
- 存储到外部存储卡指定路径:
import fs from '@ohos.file.fs';
import common from '@ohos.app.ability.common';
// 获取外部存储路径
let context = getContext(this) as common.UIAbilityContext;
let path = context.filesDir + "/external/"; // 外部存储路径
// 创建目录(如果不存在)
fs.mkdirSync(path);
// 写入UUID文件
let filePath = path + "device_uuid.txt";
fs.writeTextSync(filePath, uuid);
- 读取已存储的UUID:
try {
let storedUUID = fs.readTextSync(filePath);
// 比较当前UUID和存储的UUID
} catch (e) {
// 文件不存在时的处理
}
注意事项:
- 外部存储路径会因设备而异,建议使用官方API获取
- 用户卸载应用后,存储在外部存储卡的数据通常会被保留
- 对于敏感数据,建议加密存储
这种方式即使用户卸载后重新安装应用,只要不手动清除存储卡数据,就能保持设备标识一致。