| Name | Date | Size | #Lines | LOC | ||
|---|---|---|---|---|---|---|
| .. | - | - | ||||
| AppScope/ | 06-May-2025 | - | 35 | 32 | ||
| entry/ | 06-May-2025 | - | 1,126 | 1,031 | ||
| hvigor/ | 06-May-2025 | - | 38 | 36 | ||
| screenshots/ | 06-May-2025 | - | ||||
| .gitignore | D | 06-May-2025 | 133 | 12 | 12 | |
| README_zh.md | D | 06-May-2025 | 4.3 KiB | 109 | 79 | |
| build-profile.json5 | D | 06-May-2025 | 1.2 KiB | 51 | 50 | |
| hvigorfile.ts | D | 06-May-2025 | 839 | 22 | 5 | |
| oh-package.json5 | D | 06-May-2025 | 809 | 26 | 24 | |
| ohosTest.md | D | 06-May-2025 | 1.2 KiB | 15 | 11 |
README_zh.md
1# 应用文件访问(ArKTS) 2 3## 介绍 4 5本实例主要实现了对应用沙箱目录下的文件的访问,使用ohos.file.fileuri 、ohos.file.fs、ohos.file.statvfs、ohos.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.ets。 46 47- 使用fs.openSync、fs.writeSync、fs.readSync、fs.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 83无 84 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