Java 如何在Android上查找具有特定扩展名的所有文件?
我正在使用文件浏览器查找手机上的文件,但我想向用户显示我的应用程序可以打开的所有文件,然后用户选择一个。像音乐播放器一样,它可以显示手机、SD卡和内存中的所有歌曲,而不仅仅是用户所在文件夹中的歌曲。我不知道您使用的是什么文件浏览器实现,但是一个好的应该接受一个新的版本。您可以实现自己的过滤器,为Java 如何在Android上查找具有特定扩展名的所有文件?,java,android,file-browser,Java,Android,File Browser,我正在使用文件浏览器查找手机上的文件,但我想向用户显示我的应用程序可以打开的所有文件,然后用户选择一个。像音乐播放器一样,它可以显示手机、SD卡和内存中的所有歌曲,而不仅仅是用户所在文件夹中的歌曲。我不知道您使用的是什么文件浏览器实现,但是一个好的应该接受一个新的版本。您可以实现自己的过滤器,为公共抽象布尔接受(文件路径名)提供代码,同时列出文件。下面的示例列出了给定root目录中的所有mp3文件(注意-下面的代码不会对root下的所有文件夹递归执行此操作)- 非常感谢。现在我正试图这样做以获取
公共抽象布尔接受(文件路径名)
提供代码,同时列出文件。下面的示例列出了给定root
目录中的所有mp3文件(注意-下面的代码不会对root
下的所有文件夹递归执行此操作)-
非常感谢。现在我正试图这样做以获取子文件夹中的所有文件,这只是时间问题。我认为字符串检查最好是:name.length()>=4&&name.subString(name.length-4).toLowerCase().equals(.mp3)或类似的内容(未检查)。原因是您不需要以这种方式多次检查字符串。
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();
}
};