首页 > 其他 > 详细

递归统计文件夹大小

时间:2020-06-13 19:11:24      阅读:57      评论:0      收藏:0      [点我收藏+]

递归统计文件夹大小

  1. 创建键盘录入对象Scanner

  2. 定义字符串接收用户输入的文件夹路径

  3. 根据文件夹路径创建文件对象

  4. 定义一个方法calculate用来计算指定文件夹的大小,接收文件参数,返回long类型数值表示文件夹的大小。

  5. 调用calculate方法传入文件夹对象,在该方法内部获得文件夹中所有文件,得到一个文件数组,定义一个变 量size累加每一个文件的大小,遍历文件数组,判断是否是文件,如果是文件则获得文件大小并累加到变量 size中,如果是文件夹,继续递归调用当前方法。

package com.test.Test02;

import java.io.File;

public class Test04 {
    public static void main(String[] args) {
        //获取一个文件夹大小并输出到控制台
        long l = calculate(new File("E:/abc"));

        System.out.println("l = " + l);
        //l = 52925438
        //    52929534
    }

    private static long calculate(File dir){
        //定义变量累积每一个文件的大小
        long size = 0;
        File[] files = dir.listFiles();
        for (File file : files) {
            if(file.isFile()){
                //是文件
                size += file.length();
            }else {
                //是文件夹
                size += calculate(file);
            }
        }
        return size;
    }
}

自己瞎捉摸出来的

package com.test.Test02;

import java.io.File;

public class Test05 {
    public static void main(String[] args) {
        addUp(new File("E:/abc"));
    }

    private static long size = 0;
    private static void addUp(File file) {
        if(file.isDirectory()){
            File[] files = file.listFiles();
            for (File f : files) {
                addUp(f);
            }
        }

        //不是文件夹,计算大小
        size += file.length();
        System.out.println("size = " + size);


    }
}

递归统计文件夹大小

原文:https://www.cnblogs.com/liqiliang1437/p/13121344.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!