File類-遞歸目錄樹結構
遞歸結構包括兩部分:
1、定義遞歸頭:什麼時候不調用自身方法也就是遞歸結束的條件,沒有遞歸頭。
2、遞歸體:什麼時候調用自身方法。
************************************************************************************************************
練習遞歸算法計算10!:
public static void main(String[] args){
System.out.println(printRecursion(10));
}
static int printRecursion(int n){
if(n==1) {
return 1;
}else {
return (n*printRecursion(n-1)); //n!=n*(n-1)!
}
}
************************************************************************************************************
************************************************************************************************************
使用遞歸算法,打印樹狀結構目錄樹:
使用:file.listFiles() //返回該目錄下所有子目錄和子文件
代碼練習:
public static void main(String[] args) throws IOException {
File f = new File("C:\\Users\\lenovo\\Desktop\\qq"); //確定qq目錄位置
printFile(f,0);
}
static void printFile(File file,int level) {
//輸出層數
for (int i = 0; i < level; i++) {
System.out.print("-");
}
System.out.println(file.getName()); //打印文件名稱
if(file.isDirectory()) {
File[] files = file.listFiles(); //file.listFiles() //返回該目錄下所有子目錄和子文件
for(File temp:files) { //遍歷該文件所有子目錄和子文件並打印
printFile(temp,level+1); //將該目錄下所有子目錄和子文件在此調用並且層數+1
}
}
}
運行結果:
************************************************************************************************************