我从计算机上的文件夹中获取文件列表,并将其放入名为 listOfFiles
的数组中。
我想尝试使用字符串在文件夹中查找文件名。
- 如果它确实找到了文件,我需要它说“匹配”
- 如果找不到该文件(现在正在发生),则会显示“不匹配”
我的代码目前一直说它“不匹配”,即使我已经使用了我正在搜索的确切文件名。
代码:
File folder = new File(txtPDFLocation.getText());
File[] listOfFiles = folder.listFiles();
for (int i = 0; i < listOfFiles.length; i++) {
if (listOfFiles[i].isFile()) {
System.out.println(listOfFiles[i].getName());
}
else if (listOfFiles[i].isDirectory()) {
System.out.println("Directory " + listOfFiles[i].getName());
}
}
//Try to match file to email address
if(Arrays.asList(listOfFiles).contains("Text1.txt")) {
System.out.println("MATCH");
}
else {
System.out.println("NOT MATCHED");
}
控制台:
Text1.txt
NOT MATCHED
最佳答案
您必须手动循环它。
您可以创建新的 for 循环,甚至可以在现有循环中检查它。
这是工作示例:
File folder = new File("");
File[] listOfFiles = folder.listFiles();
boolean isItThere = false;
for (File file : listOfFiles) {
if (file.isFile()) {
if (file.getName().equals("Text1.txt")) {
isItThere = true;
}
System.out.println(file.getName());
} else if (file.isDirectory()) {
System.out.println("Directory " + file.getName());
}
}
//Try to match file to email address
if (isItThere) {
System.out.println("MATCH");
} else {
System.out.println("NOT MATCHED");
}
关于java - 在目录列表数组中查找字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22649351/