码迷,mamicode.com
首页 > 其他好文 > 详细

递归统计文件夹大小

时间:2020-06-13 19:29:03      阅读:61      评论:0      收藏:0      [点我收藏+]

标签:表示   路径   统计   方法   size   计算   文件大小   根据   long   

递归统计文件夹大小

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


    }
}

递归统计文件夹大小

标签:表示   路径   统计   方法   size   计算   文件大小   根据   long   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!