HarmonyOS 鸿蒙Next 如何获取/storage/emulated/0目录下的所有目录和文件信息,我想做一个自动备份的程序

发布于 1周前 作者 songsunli 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 如何获取/storage/emulated/0目录下的所有目录和文件信息,我想做一个自动备份的程序

求教:如何获取/storage/emulated/0目录下的所有目录和文件信息,我想做一个自动备份的程序,申请了
‘ohos.permission.READ_MEDIA’,
‘ohos.permission.WRITE_MEDIA’,
“ohos.permission.WRITE_EXTERNAL_STORAGE”,
“ohos.permission.READ_EXTERNAL_STORAGE”,
‘ohos.permission.READ_USER_STORAGE’,
'ohos.permission.WRITE_USER_STORAGE’
四种权限,但在这个目录下通过dir.readSync()只能获取MP4,jpg之类的媒体文件信息,我还想备份的pdf,doc,txt等文件全部查询不到,MEDIA文件包含哪些,能自定义吗?

3 回复

目前的情况好像是,在NEXT上,华为自家的文件管理器是废了,而且还把第三方开发的路封死了,如果是安卓另当别论

在HarmonyOS鸿蒙Next系统中,获取/storage/emulated/0目录下的所有目录和文件信息,可以通过Java或Kotlin编写代码来实现。这通常涉及到使用Android的文件访问API,因为/storage/emulated/0通常是设备的外部存储根目录。

你可以使用File类来遍历该目录。以下是一个简短的Java代码示例,展示了如何获取并打印该目录下的所有文件和子目录:

File rootDir = new File("/storage/emulated/0");
File[] files = rootDir.listFiles();

if (files != null) {
    for (File file : files) {
        if (file.isDirectory()) {
            System.out.println("Directory: " + file.getName());
        } else {
            System.out.println("File: " + file.getName());
        }
    }
} else {
    System.out.println("Failed to list files in the directory.");
}

注意,访问外部存储可能需要适当的权限。确保你的应用已经在AndroidManifest.xml中声明了READ_EXTERNAL_STORAGE权限,并在运行时请求该权限(针对Android 6.0及以上版本)。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部