樹的後序遍歷 遍歷文件夾

利用樹的後序遍歷來列出文件夾的子文件大小和文件夾的大小,代碼如下


import java.io.File;

public class test {
    public static void main(String[] args){
//        獲取某一個文件夾
        File file = new File("F:\\qycache");
//        調用方法
        long size = getFileSize(file,0);
        System.out.println("總大小爲"+(double)size/(1024*1024)+"MB");
    }

    private static long getFileSize(File file,int depth) {
        long totalSize = file.length();
        if(file.isDirectory()){
            File[] files = file.listFiles();
            for (File children : files){
                totalSize += getFileSize(children,depth+1);
            }
        }
        for (int i = 0; i < depth; i++) {
            System.out.print("----");
        }
//        輸出文件名和大小
        System.out.println(file.getName()+"    "+(totalSize/1024+1)+"k");


        return totalSize;
    }


}

對子文件先進行處理, 所以對文件名稱的輸出和文件大小的輸出放在遞歸之後

利用這段代碼遍歷電腦中的一個文件夾,輸出結果如下



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