linux怎么查看本机内存大小
382
2023-05-13
想了解更多内容,请访问:
51CTO和华为官方合作共建的鸿蒙技术社区
https://ost.51cto.com
前言文件管理在我们日常使用手机中是一个非常重要的功能,我们可以通过文件管理相关 API 实现对指定文件的删除、复制、移动、压缩解压缩等操作。文件管理API 从Version 6 开始支持,由于目前华为对公共文件访问的API暂时还没开放,所以目前只能对应用私有目录下的文件操作权限
参考资料HarmonyOS文件管理JS API。
OpenHarmony API。
获取当前应用私有目录。
使用该功能模块对文件/目录进行操作前,需要先获取其绝对路径,获取方式及其接口用法请参考:Ability上下文。
在使用AbilityContext的功能前,需要通过getContext()先获取Context对象。在使用AbilityContext的功能前,需要通过getContext()先获取Context对象。
示例:
获取应用内部存储目录除了可以通过AbilityContext之外,还可以使用特定scheme(只支持internal)来访问预定义的一些文件存取目录,详细描述见存储目录定义。
不同设备上对应的实际位置不同。对于不在下列目录下的文件访问将被拒绝(禁止使用../等方式访问父目录)。
通过实际代码操作发现context.getFilesDir()获取的目录/data/data/应用包名/files跟internal://app/的目录是一样的,这个在后面的示例代码中有体现。
创建文件目录官方API文档提供了多种创建文件目录的方式,这里只对其中一种方式进行演示,其他方式可自行验证。
mkdir(path:string, mode?: number): Promise。
以异步方法创建目录,使用promise形式返回结果。这里我们通过context.getFilesDir()获取到当前的应用的私有目录,并在该文件夹下创建了4个文件夹。
获取指定路径下的所有文件获取指定目录下的所有文件需要用到system.file模块。
复制虽然官方文档说从API Version 6开始,该接口不再维护,推荐使用新接口@ohos.fileio。
但是我在fileio模块中并未找到相关接口,不知道是文档没有更新还是怎么回事,所以只能继续使用system.file模块了,期待华为后面更新文档。
system.file模块接口文档参考获取指定路径下全部文件的列表。
示例:
在这里我们可以看到我通过获取internal://app/目录下的所有文件,可以看到我们上面在/data/data/应用包名/files下创建的文件夹。
获取文件详细信息以异步方法获取文件信息,使用callback形式返回结果。fileio.stat()。
参数:
示例:
以异步方法删除目录,使用callback形式返回结果。fileio.rmdir (BETA)7+。
参数:
示例:
以异步方法删除文件,使用callback形式返回结果。fileio.unlink()。
参数:
示例:
以异步方法复制文件,使用callback形式返回结果。fileio.copyFile()
参数:
示例:
总结:以上只是部分接口实践,其他接接口大家可以参照华为官方API参考和openHarmony源码自行实践,这里推荐大家随时随地关注官方文档的更新,因为有些API虽然文档中介绍了,但是实际引用的时候发现相关功能并未实现。所以我们要时时刻刻的关注官方文档更新情况。
想了解更多内容,请访问:
51CTO和华为官方合作共建的鸿蒙技术社区
https://ost.51cto.com
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~