我想在我的D:\驱动器上使用JAVA中的静态递归查找文件(“Vodoo.txt”)。我想知道你是否可以帮助我找出我做错了什么。使用静态递归查找文件
我的目标是搜索我的所有文件夹,直到找到“Vodoo.txt”并打印出该文件的路径。
我的代码:
import java.io.*;
import java.util.*;
public class FindFile
{
public static String searchForFile(File currentFolder, String filename)
{
File root = currentFolder;
File[] list = root.listFiles();
if(list != null)
{
for(File f : list)
{
if(f.isDirectory())
{
File path = f.getAbsoluteFile();
if(f.getName().equals(filename))
{
System.out.println(f.getAbsoluteFile());
}
//System.out.println(f.getAbsoluteFile());
return searchForFile(path, filename);
}
}
}
return "WRONG DIRECTORY";
}
public static void main(String[] args)
{
FindFile ff = new FindFile();
File currentFolder = new File("D:\\2016-2017\\Fall2016");
String fileName = "Vodoo.txt";
System.out.println("Search for Vodoo.txt under " + currentFolder);
System.out.println("------------------------------------");
ff.searchForFile(currentFolder, fileName);
}
}
输出:
下d搜索Vodoo.txt:\ 2016- 2017年\ Fall2016
我的实际文件位置:
d:\ 2016- 2017年\ Fall2016 \ 201_CSCE_Programming \作业5 \ RecursivelyFindFile \ Vodoo.txt
但我猜OP的作业要求他使用递归。不错的解决方案虽然 –
但它不回答他的问题 - 所以谁知道也许OP会接受它作为正确的答案。 –