gpt4 book ai didi

java - 如何使用java在windows中搜索文件

转载 作者:行者123 更新时间:2023-12-01 14:16:53 26 4
gpt4 key购买 nike

我想通过给出文件名来在Windows中搜索文件,最初我尝试使用这段代码列出所有文件

File[] files = File.listRoots();   
for(File f : files){
parseAllFiles(f.getPath());
}


...

public static void parseAllFiles(String parentDirectory){
File[] filesInDirectory = new File(parentDirectory).listFiles();
for(File f : filesInDirectory){
if(f.isDirectory()){
parseAllFiles(f.getAbsolutePath());
}
System.out.println("Current File -> " + f);
}
}

但我有一个异常(exception)说

Exception in thread "main" java.lang.NullPointerException
at fileoper.parseAllFiles(fileoper.java:24)
at fileoper.parseAllFiles(fileoper.java:26)
at fileoper.parseAllFiles(fileoper.java:26)
at fileoper.main(fileoper.java:19)

对此有什么建议吗?

最佳答案

您可以使用FileVisitor在 Java 中,然后使用 Files.walkFileTree(startDir, Visitor) 从起始目录递归地遍历文件树。

FileVisitor 定义了为每个文件/目录调用的几个方法(请参阅 here )。特别有趣的是方法

FileVisitResult visitFile(T file, BasicFileAttributes attrs)

每个文件都会调用它。通过这种方法,您可以检查它是否是您正在搜索的文件。

(如果不需要其他方法,请使用 SimpleFileVisitor 并仅覆盖 visitFile() 方法)

参见Walking the File Tree有关如何使用它的完整说明。

关于java - 如何使用java在windows中搜索文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18053307/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com