我想在我的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會接受它作爲正確的答案。 –