Как найти все файлы с определенным расширением на Android?
Я использую fileBrowser для поиска файлов на телефоне, но я хотел показать все файлы, которые мое приложение может открыть пользователю, а затем пользователь выбирает один. Как музыкальный плеер, который показывает все песни на телефоне, на SD-карте и во внутренней памяти, а не только в папке, где находится пользователь.
2 ответов
используйте фильтры имен файлов при перечислении файлов. В приведенном ниже примере перечислены все 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();
}
};
Я не знаю, какую реализацию FileBrowser вы используете, но хороший должен принять FileFilter. Вы можете реализовать свой собственный фильтр, который обеспечивает код public abstract boolean accept (File pathname)