我正在文件夹中搜索声音文件,并想知道声音文件是否存在,可能是 .mp3、.mp4 等。我只是想确保文件名(不带扩展名)存在。
eg.文件搜索 /home/user/desktop/sound/a
如果存在任何 a.mp3 或 a.mp4 或 a.txt 等,则返回找到。
我试过这个:
File f=new File(fileLocationWithExtension);
if(f.exist())
return true;
else return false;
但是在这里我也必须通过扩展名,否则它总是返回 false
对于任何来这里的人,这是我想出的最好的方法
public static void main(String[] args) {
File directory=new File(your directory location);//here /home/user/desktop/sound/
final String name=yourFileName; //here a;
String[] myFiles = directory.list(new FilenameFilter() {
public boolean accept(File directory, String fileName) {
if(fileName.lastIndexOf(".")==-1) return false;
if((fileName.substring(0, fileName.lastIndexOf("."))).equals(name))
return true;
else return false;
}
});
if(myFiles.length()>0)
System.Out.println("the file Exist");
}
缺点:即使找到了我在问题中从未打算过的文件,它也会继续搜索。欢迎提出任何建议