遍历统计文件夹大小

 最近C盘爆满,想删文件又不知道从何入手,手动右键属性看文件夹大小找文件删除。文件夹太多,着实难找,一个一个找,着实麻烦。

既然要找文件夹大小,为什么不写几行代码统计一下呢?


import org.apache.commons.io.FileUtils;

import java.io.File;

/**
 * @author Jame
 * @date 2018/08/31 10:29
 */
public class FileCalculator {

    public static void print(File file){
        for (File f : file.listFiles()){
            try {
                Long size = 0L;
                if (f.isDirectory()){
                     size = FileUtils.sizeOfDirectory(f)/1024/1024;
                }else {
                     size = FileUtils.sizeOf(f)/1024/1024;
                }
                if (size>500){
                    //输出大于500M的文件夹
                    System.out.println("文件夹:"+f.getPath()+",大小为:"+ size +"M");
                    if (size>1024){
                        //继续遍历大于1G的文件夹
                        print(f);
                    }
                }
            }catch (Exception e){
                //System.out.println("文件夹:"+f.getName()+"无法计算.");
            }
        }
    }

    public static void main(String[] args) throws Exception {
        String path = "C:\\Windows";
        File file = new File(path);
        print(file);
    }
}

输出如下: 

文件夹:C:\Windows\assembly,大小为:1323M
文件夹:C:\Windows\assembly\NativeImages_v4.0.30319_64,大小为:501M
文件夹:C:\Windows\Fonts,大小为:574M
文件夹:C:\Windows\Installer,大小为:25872M
文件夹:C:\Windows\Microsoft.NET,大小为:896M
文件夹:C:\Windows\System32,大小为:19447M
文件夹:C:\Windows\System32\DriverStore,大小为:15981M
文件夹:C:\Windows\System32\DriverStore\FileRepository,大小为:15979M
文件夹:C:\Windows\System32\DriverStore\FileRepository\igdlh64.inf_amd64_326dd044df8d1c76,大小为:501M
文件夹:C:\Windows\System32\DriverStore\FileRepository\igdlh64.inf_amd64_e0d9253f13281f5c,大小为:530M
文件夹:C:\Windows\SysWOW64,大小为:1663M
文件夹:C:\Windows\WinSxS,大小为:6912M

Process finished with exit code 0

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值