Java遞歸遍歷目錄結構和樹狀展現

遞歸結構包括兩個部分:

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);
            }
        }
    }
}

輸出結果:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章