文件夹大小=文加件下的所有文件大小的总和。
package IOStudy;
import java.io.File;
import java.io.IOException;
/**
* 使用面向对象:统计文件夹大小
* @author pmc
*
*/
public class DirCount {
//文件数量
private int fileSize;
//文件夹数量
private int dirSize;//包含自身,不包含自身从-1开始
//大小
private static long length;
//文件夹
private String dirPath;
//源
private File src;
public DirCount(String dirPath) {
super();
this.dirPath = dirPath;
this.src=new File(dirPath);
printFileLength(src);
System.out.println("文件夹大小:"+this.length);
System.out.println("文件数量:"+this.fileSize);
System.out.println("文件夹数量:"+this.dirSize);
}
private void printFileLength(File src){
// System.out.println(src.getName());
if(null!=src||src.exists()){//不是空并且有文件或目录
if(src.isFile()){//是文件
length+=src.length();
this.fileSize++;
}else{//是目录
for(File temp:src.listFiles()){
printFileLength(temp);
}
this.dirSize++;
}
}
}
public static void main(String[] args) {
DirCount dir=new DirCount("F:/Java_mycode/com.nuipc.www");
}
}