遞歸結構包括兩個部分:
1、定義遞歸頭:即“什麼時候不調用自身方法”。如果沒有頭,將陷入死循環,也就是遞歸的結束條件。
2、遞歸體:也就是什麼時候需要調用自身方法。
應用:遞歸遍歷目錄結構
package 遞歸遍歷目錄結構;
import java.io.File;
import java.io.IOException;
public class TestFiles {
public static void main(String[] args) throws IOException {
File f = new File("d:/電影");
//查看項目的路徑
System.out.println(System.getProperty("user.dir"));
//如果沒有的話就在指定位置創建一個
// f.createNewFile();
printFile(f,0);
}
/**
* 打印文件信息
* @param file 文件名稱
* @param level 層次數(實際就是第幾次遞歸調用)
**/
static void printFile(File file,int level){
//1、輸出層次數
for(int i = 0;i < level;i++){
System.out.print("-");
}
//2、輸出文件名
System.out.println(file.getName());
//3、如果file是目錄,則獲取子文件列表,並對每個子文件進行相同的操作
if(file.isDirectory()){
File[] files = file.listFiles();
for(File file1:files){
//4、遞歸調用方法,記得要+1
printFile(file1,level+1);
}
}
}
}
輸出結果: