• Home
Name Date Size #Lines LOC

..--

AppScope/22-Oct-2025-3532

PageImg/22-Oct-2025-

entry/22-Oct-2025-866763

hvigor/22-Oct-2025-3836

.gitignoreD22-Oct-2025133 1212

README_zh.mdD22-Oct-20254.2 KiB7856

build-profile.json5D22-Oct-20251.4 KiB6362

hvigorfile.tsD22-Oct-2025843 225

oh-package.json5D22-Oct-2025809 2624

ohosTest.mdD22-Oct-2025933 118

README_zh.md

1# 保存用户文件
2
3### 介绍
4
5本示例主要展示了有关保存用户文件的功能,使用PhotoViewPicker、PhotoAccessHelper、@ohos.file.picker(选择器)、@ohos.file.fs (文件管理)、fs.openSyncfs.writeSync、AudioViewPicker等,实现了保存文件的功能。该工程中展示的代码与接口等详细描述可查如下链接。
6
7- [保存用户文件](https://gitee.com/openharmony/docs/blob/OpenHarmony-5.0.1-Release/zh-cn/application-dev/file-management/save-user-file.md)
8
9### 效果预览
10
11|主页|
12|--------------------------------|
13|<img src="PageImg\SavingUserFiles.jpeg" alt="首页" style="zoom:50%;" width="400" />|
14
15使用说明:
16
171. 在主界面,然后点击SaveDocument按钮,选择保存的路径并确认,成功后返回成功结果到页面文本框,并在日志中输出“write data to file succeed and size is:”内容。
182. 点击ReadFiles按钮,选择指定文件夹下的文档类文件,将选择成功结果输出到页面文本框中,并在日志中输出“readSync data to file succeed and buffer size is:”内容,验证保存文件是否成功。
193. 点击SaveAudioFiles按钮,选择保存文件的路径,成功将保存成功结果返回到页面文本框中,并在日志中输出“write data to file succeed and size is:”内容。
20
21### 工程目录
22
23```
24├──entry/src/main
25|	├──ets
26|	|	├──common
27|	|	|	└──Logger.ts 		        // 日志打印封装类
28|	|	├──entryability
29|	|	|	└──EntryAbility.ets 		// 程序入口类
30|	|	├──entrybackupability
31|	|	|	└──EntryBackupAbility.ets
32|	|	└──pages   						// 页面文件
33|	|		└──Index.ets 				// 主界面
34|	├──resources						// 资源文件目录
35```
36
37### 具体实现
38
39* 保存文档类文件:
40    * 导入[@ohos.file.picker(选择器)](https://gitee.com/openharmony/docs/blob/OpenHarmony-5.0.1-Release/zh-cn/application-dev/reference/apis-core-file-kit/js-apis-file-picker.md#ohosfilepicker-选择器)模块和[@ohos.file.fs (文件管理)](https://gitee.com/openharmony/docs/blob/OpenHarmony-5.0.1-Release/zh-cn/application-dev/reference/apis-core-file-kit/js-apis-file-fs.md)模块。
41    * 创建文档保存选项实例。
42    * 创建文件选择器DocumentViewPicker实例。调用save()接口拉起FilePicker界面进行文件保存。
43    * 待界面从FilePicker返回后,使用基础文件API的fs.openSync接口,通过URI打开这个文件得到文件描述符(fd)。
44    * 通过(fd)使用基础文件API的fs.writeSync接口对这个文件进行编辑修改,编辑修改完成后关闭(fd)。
45* 保存音频类文件:
46    * 导入[@ohos.file.picker(选择器)](https://gitee.com/openharmony/docs/blob/OpenHarmony-5.0.1-Release/zh-cn/application-dev/reference/apis-core-file-kit/js-apis-file-picker.md#ohosfilepicker-选择器)模块、[@ohos.file.fs (文件管理)](https://gitee.com/openharmony/docs/blob/OpenHarmony-5.0.1-Release/zh-cn/application-dev/reference/apis-core-file-kit/js-apis-file-fs.md)模块、[PhotoAccessHelper](https://gitee.com/openharmony/docs/blob/OpenHarmony-5.0.1-Release/zh-cn/application-dev/reference/apis-media-library-kit/js-apis-photoAccessHelper.md)模块。
47    * 创建音频保存选项实例。
48    * 创建音频选择器AudioViewPicker实例。调用save()接口拉起FilePicker界面进行文件保存。
49    * 待界面从FilePicker返回后,可以使用基础文件API的fs.openSync接口,通过URI打开这个文件得到文件描述符(fd)。
50    * 通过(fd)使用基础文件API的fs.writeSync接口对这个文件进行编辑修改,编辑修改完成后关闭(fd)。
51
52### 相关权限
53
54不涉及
55
56### 依赖
57
58不涉及
59
60### 约束与限制
61
621.本示例仅支持标准系统上运行,支持设备:RK3568。
63
642.本示例已适配API16版本SDK,版本号:5.1.0.47,镜像版本号:OpenHarmony5.1.0.47。
65
663.本示例需要使用DevEco Studio (5.0.3.910)及以上版本才可编译运行。
67
68### 下载
69
70如需单独下载本工程,执行如下命令:
71
72```
73git init
74git config core.sparsecheckout true
75echo code/DocsSample/CoreFile/UserFile/SavingUserFiles > .git/info/sparse-checkout
76git remote add origin https://gitee.com/openharmony/applications_app_samples.git
77git pull origin master
78```