• Home
Name Date Size #Lines LOC

..--

AppScope/06-May-2025-3532

entry/06-May-2025-1,1261,031

hvigor/06-May-2025-3836

screenshots/06-May-2025-

.gitignoreD06-May-2025133 1212

README_zh.mdD06-May-20254.3 KiB10979

build-profile.json5D06-May-20251.2 KiB5150

hvigorfile.tsD06-May-2025839 225

oh-package.json5D06-May-2025809 2624

ohosTest.mdD06-May-20251.2 KiB1511

README_zh.md

1# 应用文件访问(ArKTS)
2
3## 介绍
4
5本实例主要实现了对应用沙箱目录下的文件的访问,使用ohos.file.fileuriohos.file.fsohos.file.statvfsohos.application.Want 。实现了文件的创建、读写、内容复制、文件流的使用、文件哈希流的使用、文件系统空间大小的获取以及对分享文件的接收和读取功能,该工程中展示的代码详细描述可查如下链接。
6
7- [ 应用文件访问(ArkTS)](https://gitee.com/openharmony/docs/blob/OpenHarmony-5.0.1-Release/zh-cn/application-dev/file-management/app-file-access.md)
8
9## 效果预览
10
11| 应用成功启动界面                                  | 文件访问结果                                    |
12| ------------------------------------------------- | ----------------------------------------------- |
13| <img src="./screenshots/start.jpg" width = "400"> | <img src="./screenshots/end.jpg" width = "400"> |
14
15使用说明:
16
171. 本应用主要是对应用的沙箱文件进行访问,同时能获取到文件系统的存储空间大小。
182. 在主界面中通过点击相应的按钮,应用可以完成相应的功能,完成的反馈将如日志的形式出现在主界面的上半部分。
193. 本应用涉及到了对分享文件的接收和读取,在使用分享文件的应用通过弹窗选择跳转到本应用之后,点击“查看分享的文件数据”可以读取到分享文件的内容。
20
21## 工程目录
22
23```
24//应用文件访问
25FileSample
26├──entry/src/main
27|	├──ets
28|	|	├──commom
29|	|	|	├──Logger.ts				// 日志工具
30|	|	├──entryability
31|	|	|	└──EntryAbility.ets         // 程序入口类
32|	|	├──entrybackupability
33|	|	|	└──EntryBackupAbility.ets
34|	|	├──fileFs
35|	|	|	└──fileFs.ets               // 文件访问函数
36|	|	└──pages                        // 页面文件
37|	|		└──Index.ets 				// 主界面
38|	├──resources						// 资源文件目录
39```
40
41## 具体实现
42
43- 在应用开始访问文件之前,使用UIAbilityContext[获取UIAbility的上下文信息](https://gitee.com/openharmony/docs/blob/OpenHarmony-5.0.1-Release/zh-cn/application-dev/application-models/uiability-usage.md),然后调用Context的相关接口获取应用的沙箱文件路径。
44
45- 文件的新建、读写、内容复制、查看文件列表、文件流的使用、文件哈希流的使用的功能函数都集成在fileFs.ets文件中,源码参考:fileFs.ets46
47- 使用fs.openSyncfs.writeSyncfs.readSyncfs.closeSync分别用来来创建文件夹、打开文件、写文件、读文件、关闭文件,文件接口请参考:[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)
48
49- 使用[ohos.file.statvfs](https://gitee.com/openharmony/docs/blob/OpenHarmony-5.0.1-Release/zh-cn/application-dev/reference/apis-core-file-kit/js-apis-file-statvfs.md)ohos.file.storageStatistics提供的API获取文件系统空间和应用空间的大小。
50
51- 该应用涉及对分享文件的接收和读取,需要配置[ module.json5](https://gitee.com/openharmony/docs/blob/OpenHarmony-5.0.1-Release/zh-cn/application-dev/quick-start/module-configuration-file.md)文件,示例如下。
52
53  ```
54  {
55    "module": {
56      ...
57      "abilities": [
58        {
59          ...
60          "skills": [
61            {
62              ...
63              "actions": [
64                "ohos.want.action.sendData"
65              ],
66              "uris": [
67                {
68                  "scheme": "file",
69                  "type": "text/plain"
70                }
71             ]
72            }
73          ]
74        }
75      ]
76    }
77  }
78
79  ```
80
81## 相关权限
82
8384
85## 依赖
86
87不涉及
88
89## 约束与限制
90
911.本示例仅支持标准系统上运行,支持设备:RK3568。
92
932.本示例为Stage模型,支持API14版本SDK,版本号:5.0.2.58,镜像版本号:OpenHarmony 5.0.2.58。
94
953.本示例需要使用DevEco Studio 5. 1Release (Build Version: 5.0.5.306, built on December 6, 2024)及以上版本才可编译运行。
96
97## 下载
98
99如需单独下载本工程,执行如下命令
100
101```
102git init
103git config core.sparsecheckout true
104echo code/DocsSample/CoreFile/FileSample > .git/info/sparse-checkout
105git remote add origin https://gitee.com/openharmony/applications_app_samples.git
106git pull origin master
107```
108
109