本示例主要展示了文件管理相关的功能,使用 @ohos.multimedia.medialibrary 、@ohos.filemanagement.userFileManager 、@ohos.fileio 、@ohos.file.fs 、@ohos.app.ability.contextConstant 等接口,实现了增添文件、删除文件、查找指定类型文件文件、复制并移动文件、切换加密分区和预览图片、监听文件的功能;

使用说明
entry/src/main/ets/
|---Application
|---common
| |---Common.ts // 公用方法,如bufferToString
| |---Logger.ts // 监听文件日志
|---filemanager
| |---data
| | |---FileDataSource.ets // 懒加载数据格式
| |---fileFs
| | |---MyWatcher.ts // 预制10个文件进行监听,并对文件增删改进行处理,以及对添加watcher和删除watcher进行处理
| |---pages
| | |---audio
| | | |---AudioFileList.ets // 音频列表页面
| | |---common
| | | |---FileList.ets // 同类型文件列表展示页面,接收文件类型,展示特定类型的文件列表
| | |---document
| | | |---DocumentFileList.ets // 文档列表页面
| | |---image
| | | |---ImageFileList.ets // 图片列表页面
| | | |---ImagePreview.ets // 图片预览页面
| | |---MyPhone
| | | |---ChangeTimeDialog.ets //修改时间的弹窗
| | | |---DeleteDialog.ets // 删除时的询问弹窗
| | | |---InputNameDialog.ets // 新增文件时的输入框
| | | |---MyPhone.ets // MyPhone主页
| | | |---OpenFile.ets // 文件内容查看编辑页面
| | |---video
| | | |---VideoFileList.ets // 视频列表页面
| | |---FileManagerHome.ets // 首页主体内容
|---MainAbility
|---pages
| |---WatcherFile.ets // 监听文件页面,可对当前目录添加监听和停止监听,同时可以添加文件和删除文件并显示触发事件后日志
| |---Index.ets // 首页
| |---EditFile.ets // 文件编辑界面,可对文件名和文件内容进行修改,并可对文件的修改进行撤销
Library/src/main/ets/
|---filemanager
| |---components
| | |---ThumbnailImage.ets // 缩略图组件
| |---fileio
| | |---FileIoManager.ts // 文件管理模块,封装了fileio的接口,实现MyPhone部分的功能
| |---medialibrary
| | |---MediaLibraryManager.ts // 主要封装了mediaLibrary库相关的接口,实现相关功能,如:对文件的增、删、查和图片预览功能
| |---userfilemanager
| | |---UserFileManager.ts // 封装userFileManager库相关的接口
| |---FileManager.ts // 文件管理接口,统一封装了各模块对外提供的功能接口
|---mock // 本地数据
|---utils // 日志工具不涉及
如需单独下载本工程,执行如下命令:
git init
git config core.sparsecheckout true
echo code/BasicFeature/FileManager/FileManager/ > .git/info/sparse-checkout
git remote add origin https://gitee.com/openharmony/applications_app_samples.git
git pull origin master如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。