博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
获取目录下子目录及文件的大小
阅读量:6953 次
发布时间:2019-06-27

本文共 1278 字,大约阅读时间需要 4 分钟。

hot3.png

import java.util.*;import java.io.*;public class Test{		private File root;	public Test(File root){		this.root=root;	}	public static void main(String[] args){		String filePath = "";		if(args.length!=1){			System.out.println("错误参数");			System.exit(0);		}		filePath = args[0];				File f = new File(filePath);		if(f.exists()){		}else{			System.out.println("目录/文件不存在");		}				Test t = new Test(f);		t.calculate();	}		public void calculate(){		if(this.root.isDirectory()){			//递归计算子目录大小			File[] t = this.root.listFiles();			for(File f :t ){				long len = this.calculate(f);					String ext = "";				if(len>=1024 &&len<1024*1024 ){					ext = len/1024+"KB";				}else if(len>=1024*1024 && len<1024*1024*1024){					ext = len/(1024*1024)+"MB";				}else if(len>1024*1024*1024){					ext = len/(1024*1024*1024)+"GB";				}else{					ext = len+"Bytes";				}								System.out.println((f.isFile()?"文件 ":"目录 ")+f.getName()+":\t"+ext );			}		}else{			//直接显示大小			System.out.println("文件 "+this.root.getName()+":\t"+this.root.length()+"Bytes" );		}	}		public long calculate(final File f){		if(f.isFile()){			return f.length();		}else{			File[] t = f.listFiles();			long len = 0l;			for(File fs :t ){				len += this.calculate(fs);			}			return len;		}	}	}

转载于:https://my.oschina.net/hand515/blog/102911

你可能感兴趣的文章
BZOJ1823[JSOI2010]满汉全席——2-SAT+tarjan缩点
查看>>
【UIKit】UITableView 6 编辑模式
查看>>
uva 10994 - Simple Addition
查看>>
团队作业4--第一次项目冲刺(Alpha版本)6
查看>>
python 主要模块和方法
查看>>
XPath手册 [源于ZVON]
查看>>
26:IPMaskCheck识别有效的ip地址和掩码并分类统计
查看>>
[Android]Thread线程入门4--多线程
查看>>
[20190423]那个更快的疑问3.txt
查看>>
[20170705]理解linux su命令.txt
查看>>
iOS - ImageCache 网络图片缓存
查看>>
如何调整eclipse中代码字体大小
查看>>
ubuntu16.04下python2、python3环境选择与python升级(pip版本切换)
查看>>
FQDN说明
查看>>
java基础---常用类!
查看>>
discuz论坛后台部分设置更改之后,清除了缓存网站前台不更新不生效的解决办法...
查看>>
ACM-ICPC 2018 沈阳赛区网络预赛 F Fantastic Graph(贪心或有源汇上下界网络流)
查看>>
关于js修改三种css样式的方法
查看>>
sofa
查看>>
控件绑定值“正则占位符取值”
查看>>