显示文件夹和文件个数(递归法)
程序员文章站
2022-03-31 10:21:09
...
import java.io.File;
/**
* 利用递归法得到文件夹和文件个数
* @author Administrator
*
*/
public class TestSize {
private int fileSize;
private int dirSize = -1;
private long len;
private File src;
private String path;
public int getFileSize() {
return fileSize;
}
public int getDirSize() {
return dirSize;
}
public long getLen() {
return len;
}
public TestSize(String path) {
this.path = path;
this.src = new File(path);
count(this.src);
}
private void count(File src) {
if(src.exists()&&src != null) {
if(src.isFile()) {
len+=src.length();
this.fileSize++;
}else {
this.dirSize++;
for(File s:src.listFiles()) {
count(s);
}
}
}
}
public static void main(String[] args) {
TestSize src = new TestSize("D:/Eclipse/MyPro22");
System.out.println("D:/Eclipse/MyPro22包含:\n"+"字节数:"+src.getLen()+"\n文件夹个数:"+src.getDirSize()+"\n文件个数:"+src.getFileSize());
TestSize src1 = new TestSize("D:/Eclipse/MyPro22/src");
System.out.println("D:/Eclipse/MyPro22/src包含:\n"+"字节数:"+src1.getLen()+"\n文件夹个数:"+src1.getDirSize()+"\n文件个数:"+src1.getFileSize());
}
}
结果显示:
D:/Eclipse/MyPro22包含:
字节数:105743
文件夹个数:3
文件个数:71
D:/Eclipse/MyPro22/src包含:
字节数:36953
文件夹个数:0
文件个数:32
验证结果,上图: