HarmonyOS 鸿蒙Next 文件的相关操作
HarmonyOS 鸿蒙Next 文件的相关操作 如何判断本地文件是否存在,如何创建文件,如何读写,如何在手机中的‘文件’APP中显示出来已经下载的文件,是否需要权限
3 回复
fs.access(检查文件是否存在):[https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-file-fs-V5#fsaccess](https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-file-fs-V5#fsaccess)
新建文件并读写一个文件:[应用文件访问(ArkTS)-应用文件访问与管理-应用文件-Core File Kit(文件基础服务)-应用框架 - 华为HarmonyOS开发者 (huawei.com)](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/app-file-access-V5)
可以使用FilePicker来实现文件保存到本地系统管理,FilePicker对应的官网链接:
[https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/save-user-file-V5](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/save-user-file-V5)
问题处理思路:可以先通过picker获取到要选择或者保存文件的公共路径,然后通过fs.copyFile进行文件复制,核心示例代码如下:
```javascript
save(){
const documentSaveOptions = new picker.DocumentSaveOptions(); // 创建文件管理器保存选项实例
documentSaveOptions.newFileNames = ["icon.txt"]; // 保存文件名(可选)
const documentViewPicker = new picker.DocumentViewPicker;
documentViewPicker.save(documentSaveOptions)
.then(async (documentSaveResult) => {
// 获取到到图片或者视频文件的URI后进行文件读取等操作
let uri = documentSaveResult[0];
console.info('pub uri:' + uri)
// 沙箱路径文件
let sanFile = fs.openSync(sanPath, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE)
let pubFile = fs.openSync(uri, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE)
// 将文件从沙箱路拷贝到公共路径
fs.copyFileSync(sanFile.fd, pubFile.fd)
})
.catch((err:Error) => {
console.error(`Invoke documentPicker.select failed, message is ${err.message}`);
})
}
更多关于HarmonyOS 鸿蒙Next 文件的相关操作的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html