package IO.dir;
import java.io.File;
//使用面向对象:统计文件夹大小
public class DirCount {
//大小
private long len;
//文件夹路径
private String path;
//文件的个数
private int fileSize;
//文件夹的个数
private int dirSize;//默认从0开始 包含自身文件夹
//源
private File src;
public DirCount(String path){
this.path=path;
this.src=new File(path);
count(this.src);
}
public static void main(String[] args) {
DirCount dir=new DirCount("D:\\src\\IO");
System.out.println(dir.getLen()+"--->"+dir.getFileSize()+"--->"+dir.getDirSize());
DirCount dir2=new DirCount("D:\\src\\IO\\dir");
System.out.println(dir2.getLen()+"--->"+dir2.getFileSize()+"--->"+dir2.getDirSize());
}
private void count(File src) {
//如果是文件 获取大小
if (null != src && src.exists()) {
if (src.isFile()) {//大小
len+=src.length();
this.fileSize++;
} else {//如果是文件夹 子孙级
this.dirSize++;
for(File s:src.listFiles()){
count(s);
}
}
}
}
public int getFileSize() {
return fileSize;
}
public void setFileSize(int fileSize) {
this.fileSize = fileSize;
}
public int getDirSize() {
return dirSize;
}
public void setDirSize(int dirSize) {
this.dirSize = dirSize;
}
public long getLen() {
return len;
}
public void setLen(long len) {
this.len = len;
}
}
版权声明:本文为courage_lizy原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。