如何在Android上查找具有特定扩展名的所有文件?

时间:2011-08-12 12:39:00

标签: java android file-browser

我正在使用fileBrowser来查找手机上的文件,但我想显示我的应用可以向用户开放的所有文件,然后用户选择一个。与音乐播放器一样,它显示电话,SD卡和内部存储器中的所有歌曲,而不仅仅是用户所在文件夹中的歌曲。

2 个答案:

答案 0 :(得分:9)

在列出文件时使用文件名过滤器。下面的示例列出了给定root目录中的所有mp3文件(注意 - 以下代码不会对root下的所有文件夹递归执行) -

String files[] = root.list(audioFilter);

FilenameFilter audioFilter = new FilenameFilter() {
    File f;
    public boolean accept(File dir, String name) {
    if(name.endsWith(".mp3") || name.endsWith(".MP3")) {
            return true;
        }
        f = new File(dir.getAbsolutePath()+"/"+name);

        return f.isDirectory();
    }
};

答案 1 :(得分:1)

我不知道您正在使用哪种FileBrowser实现,但是一个好的实现应该接受FileFilter。您可以实现自己的过滤器,为public abstract boolean accept (File pathname)

提供代码