0
我正在編寫一個小的Java
程序以遞歸方式列出根目錄中的文件。這是我使用的代碼。Java - 顯示到根目錄的相對路徑
public static void displayDirectoryContents(File dir) {
File[] files = dir.listFiles();
for (File file : files) {
if (file.isDirectory()) {
displayDirectoryContents(file);
} else {
System.out.println(file.getPath());
}
}
}
public static void main(String[] args) throws IOException {
File currentDir = new File("root-direcotry");
displayDirectoryContents(currentDir);
}
我得到的結果是一樣的東西:
root-direcotry/1.txt
root-direcotry/2.txt
root-direcotry/t1/a.txt
root-direcotry/t2/b.txt
root-direcotry/t4/c.txt
我的問題是,我可以只顯示相對路徑沒有「根direcotry」?
即我想要實現的是顯示:
/1.txt
/2.txt
/t1/a.txt
/t2/b.txt
/t4/c.txt
我不想用任何String
方法,只是不顯示的那部分。 謝謝!
如果什麼子目錄被命名爲 「根direcotry」? – 2014-10-06 06:21:30
@JBNizet它是OP用於根目錄的佔位符,正如您在問題中所看到的。 – Jens 2014-10-06 06:22:35
你不明白。想象一下'rootDir'是用「foo」初始化的。假設foo目錄包含'foo/foo/foo/foo.txt'。現在想象一下rootDir是用'/'初始化的(因爲你想顯示根目錄下的所有東西)。在這兩種情況下,您的代碼都會失敗。 – 2014-10-06 06:32:21