树的后序遍历 遍历文件夹

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/starjingweij/article/details/80115227

利用树的后序遍历来列出文件夹的子文件大小和文件夹的大小,代码如下


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


}

对子文件先进行处理, 所以对文件名称的输出和文件大小的输出放在递归之后

利用这段代码遍历电脑中的一个文件夹,输出结果如下



猜你喜欢

转载自blog.csdn.net/starjingweij/article/details/80115227