有人朋友问我怎样获取文件夹大小,仔细想想还真没有做过.今天凑机会也试验一下..
首先查询API看是否有相应的对像,失败.
看来只能用递归了.代码如下:
经过优化后,速度还可以,查询windows文件夹的大小只需要0.8秒.
首先查询API看是否有相应的对像,失败.
看来只能用递归了.代码如下:
import java.io.*;
public class FileTest {
private StringBuffer sb;
private static double sizes;
private void recurseFile(String path){
if(path.indexOf(".") == -1){
for(File file: new File(path).listFiles()){
if(file.isFile()){
sizes += file.length();
}else{
recurseFile(file.toString());
}
}else
sizes = file.length();
}
}
public static void main(String args[]){
String path = "c:/windows";
FileTest ft = new FileTest();
ft.recurseFile(path);
System.out.println(sizes/1024);
}
}
经过优化后,速度还可以,查询windows文件夹的大小只需要0.8秒.
递归计算文件夹大小
本文介绍了一种使用Java通过递归方式计算指定文件夹及其子文件夹总大小的方法。通过对Windows文件夹进行测试,该方法可在0.8秒内返回结果。
1万+

被折叠的 条评论
为什么被折叠?



