フォルダ内のサウンド ファイルを検索していますが、そのサウンド ファイルが存在するかどうか (.mp3、.mp4 など) を知りたいのですが、ファイル名 (拡張子なし) が存在することを確認したいだけです。
例.ファイル検索 /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");
}
短所:質問で意図していなかったファイルが見つかった場合でも、検索を続行します。提案は大歓迎です