繁体   English   中英

读取Android文件系统中的所有文件

[英]Reading all files in the Android file system

我正在编写一个 Android mediaPlayer 应用程序,所以我想扫描整个手机上的所有文件(即 sdcard 和手机内存)。 我可以从 sdcard 读取,但不能读取它的根。 也就是说,我可以从路径/sdcard/[folder]/读取,它工作正常,但如果我 go 到/sdcard/应用程序崩溃。 如何访问 sdcard 上的所有文件以及手机本身的文件?

永远不要使用 /sdcard/ 路径。 不能保证一直工作。

使用以下代码获取 sdcard 目录的路径。

File root = Environment.getExternalStorageDirectory();
String rootPath= root.getPath();

从 rootPath 位置,您可以构建 SD 卡上任何文件的路径。 例如,如果 /DCIM/Camera/a.jpg 中有图像,则绝对路径将是 rootPath + "/DCIM/Camera/a.jpg"。

但是,要列出 SDCard 中的所有文件,您可以使用以下代码

String listOfFileNames[] = root.list(YOUR_FILTER);

listOfFileNames 将包含 SD 卡中存在的所有文件的名称,并通过过滤器设置的标准。

假设您只想列出 mp3 文件,然后将以下过滤器 class 名称传递给 list() function。

FilenameFilter mp3Filter = new FilenameFilter() {
File f;
    public boolean accept(File dir, String name) {

        if(name.endsWith(".mp3")){
        return true;
        }

        f = new File(dir.getAbsolutePath()+"/"+name);

        return f.isDirectory();
    }
};

沙什

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM