利用遞歸輸出指定目錄下的全部文件以及文件夾包括子目錄中的java
由於目錄中還有目錄,只要使用同一個列出目錄的功能函數完成便可數組
在列出過程當中出現的仍是目錄的話便繼續調用本功能app
也就是函數調用自身ide
這種調用本身的方法稱爲遞歸函數
遞歸從裏往外剝ui
遞歸要注意spa
1,限定條件教程
2,要注意遞歸的次數,儘可能避免內存的溢出遞歸
import java.io.*; class fileDemo01 { public static void main(String[]args) { File f = new File("E:/ISO教程"); diguiFile(f,1); } public static void diguiFile(Filef,int lev) { sop(rank(lev)+f.getName()); lev++; File[] fs = f.listFiles(); for (int x = 0 ;x<fs.length ;x++ )//數組的長度length字符串的長度length() { if (fs[x].isDirectory()) { diguiFile(fs[x],lev); } else System.out.println(rank(lev)+fs[x].getName()); } } //空格用來分級 public static String rank(int lev) { StringBuilder sb = newStringBuilder(); sb.append(lev+"|--"); for (int i =1;i<lev ;i++ ) { sb.insert(0," "); } return sb.toString(); } public static void sop(Object o) { System.out.println(o); } }