有人朋友问我怎样获取文件夹大小,仔细想想还真没有做过.今天凑机会也试验一下..
首先查询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秒.