Java 如何检查同一文件夹中是否存在两个文件?
是否有方法检查同一文件夹中是否存在两个文件,如Testapp文件夹中的music1.mp3和music2.mp3?Java 如何检查同一文件夹中是否存在两个文件?,java,android,Java,Android,是否有方法检查同一文件夹中是否存在两个文件,如Testapp文件夹中的music1.mp3和music2.mp3? 这是我的代码检查一个文件: File f = new File(Environment.getExternalStorageDirectory()+"/Testapp/music1.mp3"); if(f.exists()) { /* do something */ } else { /* do something */ } 这样做 File yourDir =
这是我的代码检查一个文件:
File f = new File(Environment.getExternalStorageDirectory()+"/Testapp/music1.mp3");
if(f.exists()) {
/* do something */
} else {
/* do something */
}
这样做
File yourDir = new File(Environment.getExternalStorageDirectory(), "Testapp");
for (File f : yourDir.listFiles()) {
if (f.isFile()){
String name = f.getName();
if(name.equals("music1.mp3")) {
// music1.mp3 present
} else if(name.equals("music2.mp3")) {
// music2.mp3 present
}
}
}
下面@Henry在评论中提出了更有效的方法
File file1 = new File(Environment.getExternalStorageDirectory()+"/Testapp/music1.mp3");
File file2 = new File(Environment.getExternalStorageDirectory()+"/Testapp/music2.mp3");
if (file1.exists()) {
// music1.mp3 present
} else if (file2.exists()) {
// music2.mp3 present
}
您可以通过检查两个文件的父路径来执行此操作
File f1 = new File("pathone");
File f2 = new File("pathtwo");
if (f1.exists()&&f2.exists()) {
if (f1.getParent().equals(f2.getParent())) {
//both in same folder
} else {
//diff folder
}
}
为什么不简单地对第二个文件执行相同的操作呢?试试这个多么复杂的解决方案!最糟糕的解决方案。稍微好一点,但当您可以直接测试是否存在时,仍然不需要做目录列表和比较文件名。@Henry非常感谢您提供的信息,我已根据建议更新了答案