HarmonyOS 鸿蒙Next 文件保存demo示例代码如下:
import { BusinessError } from '[@ohos](/user/ohos).base';
import picker from '[@ohos](/user/ohos).file.picker';
async function example10() {
try {
let documentSaveOptions = new picker.DocumentSaveOptions();
documentSaveOptions.newFileNames = ['DocumentViewPicker01.txt'];
let documentPicker = new picker.DocumentViewPicker();
documentPicker.save(documentSaveOptions).then((documentSaveResult: Array<string>) => {
console.info('DocumentViewPicker.save successfully, documentSaveResult uri: ' + JSON.stringify(documentSaveResult));
}).catch((err: BusinessError) => {
console.error('DocumentViewPicker.save failed with err: ' + JSON.stringify(err));
});
} catch (error) {
let err: BusinessError = error as BusinessError;
console.error('DocumentViewPicker failed with err: ' + JSON.stringify(err));
}
}
async function example07() {
try {
let documentSelectOptions = new picker.DocumentSelectOptions();
let documentPicker = new picker.DocumentViewPicker();
documentPicker.select(documentSelectOptions).then((documentSelectResult: Array<string>) => {
console.info('DocumentViewPicker.select successfully, documentSelectResult uri: ' + JSON.stringify(documentSelectResult));
}).catch((err: BusinessError) => {
console.error('DocumentViewPicker.select failed with err: ' + JSON.stringify(err));
});
} catch (error) {
let err: BusinessError = error as BusinessError;
console.error('DocumentViewPicker failed with err: ' + JSON.stringify(err));
}
}
[@Entry](/user/Entry)
[@Component](/user/Component)
struct DocumentViewPickerPage {
[@State](/user/State) message: string = 'Hello World';
build() {
Column() {
Text(this.message)
.id('HelloWorld')
.fontSize(50)
.fontWeight(FontWeight.Bold)
.alignRules({
center: { anchor: '__container__', align: VerticalAlign.Center },
middle: { anchor: '__container__', align: HorizontalAlign.Center }
})
Button() {
Text('Save')
}
.type(ButtonType.Capsule)
.height(40)
.width(200)
.margin({top: 20})
.onClick(() => {
example10()
})
Button() {
Text('Select')
}
.type(ButtonType.Capsule)
.height(40)
.width(200)
.margin({top: 20})
.onClick(() => {
example07()
})
}
.height('100%')
.width('100%')
.justifyContent(FlexAlign.Center)
}
}
详细情况和其他示例请参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-file-picker-V5#documentviewpicker
更多关于HarmonyOS 鸿蒙Next 文件保存demo的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS(鸿蒙)系统中,实现文件保存功能通常涉及到访问存储权限、选择存储路径以及文件写入操作。以下是一个简要的HarmonyOS文件保存Demo示例,不涉及具体代码实现细节,但概述了主要步骤:
-
权限声明:在
config.json
文件中声明必要的权限,如读写外部存储权限。 -
获取权限:在运行时通过权限管理API请求用户授予读写外部存储的权限。
-
选择存储路径:利用系统提供的文件选择器API,让用户选择或指定文件保存的路径。
-
文件写入:
- 创建文件对象。
- 使用文件输出流(FileOutputStream)或相关API将数据写入文件。
- 确保在写入完成后关闭输出流以释放资源。
-
错误处理:添加必要的错误处理逻辑,以应对文件创建失败、写入失败等异常情况。
-
通知用户:文件保存成功后,通过UI组件(如Toast消息)通知用户。
请注意,上述步骤是基于HarmonyOS系统特性的一般性描述。实际开发中,开发者需参考HarmonyOS官方文档,使用对应的API和组件来实现具体的文件保存功能。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html