【发布时间】:2020-06-02 09:21:41
【问题描述】:
public static void fileSearcher() throws IOException {
File dire = new File ("C:/");
String[] allFile = dire.list();
for (int i = 0;i<10;i++) {
String FilIn = allFile[i]; // here is where I need to scan entire pc for file
if(FilIn.equals("eclipse.exe")){
System.out.println("Found Eclipse!");
break;
}
else {
System.out.println("Eclipse not found on local drive.");
}
是否有一种简单的方法可以扫描整个 HHD/SSD 以查找特定文件?
【问题讨论】:
-
使用
Files.walk或Files.walkFileTree。阅读javadocs 了解更多信息。 -
a) 您需要遍历所有文件,而不仅仅是前 10 个文件。 b) 使用
listFiles()而不是list()来获得File[]。 c) 你需要检查文件是否是一个目录(如果你做了b),这很容易)并递归地重复该文件夹的搜索过程。 -
@f1sh 有比这更简单的方法......从 Java 7 开始。
-
@StephenC 没错,但这看起来像是一个需要“手动”遍历的作业。