Как найти все файлы с определенным расширением на Android? - PullRequest
8 голосов
/ 12 августа 2011

Я использую fileBrowser для поиска файлов на телефоне, но я хотел показать все файлы, которые мое приложение может открыть пользователю, а затем пользователь выбирает один. Как и музыкальный проигрыватель, который показывает все песни на телефоне, на SD-карте и во внутренней памяти, а не только те, которые находятся в папке, где находится пользователь.

Ответы [ 2 ]

9 голосов
/ 12 августа 2011

Используйте фильтры имен файлов при выводе списка файлов.В приведенном ниже примере перечислены все mp3-файлы в данном каталоге root (Примечание. Приведенный ниже код не делает это рекурсивно для всех папок в 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 голос
/ 12 августа 2011

Я не знаю, какую реализацию FileBrowser вы используете, но хорошая должна принять FileFilter . Вы можете реализовать свой собственный фильтр, предоставляющий код для public abstract boolean accept (File pathname)

...