日期:2014-05-20  浏览次数:20643 次

怎么获取文件夹的大小?
请问怎么获取文件夹的大小?不是单个文件夹的大小,而是一个文件夹(假设为A文件夹)下面有多个文件夹,获取A文件夹的大小?
能不能在我下面遍历文件夹的代码上实现?

void loopFolder(String path){

File dir = new File(path);
File[] subFiles = dir.listFiles();
if (files == null){

System.out.println("path not found!");

}
for (int i = 0; i < subFiles.length; i++) {

if (subFiles[i].isDirectory()) {
loopFolder(subFiles[i].getAbsolutePath())

} else {
String strFileName = subFiles[i].getAbsolutePath().toLowerCase();
System.out.println("---" + strFileName);

}
}



}


------最佳解决方案--------------------
这样获取所有文件大小? 效率堪忧。  还有就是 文件夹下文件大小, 并不能代表整个文件夹的大小。   

一般文件夹总大小 比  文件夹下所有文件大小总和还要大。
------其他解决方案--------------------
引用:
我找到一个能计算文件夹大小的代码,但是,如果我想要指定目录下,所有文件夹的大小的,可以不?


这段代码是可以的,用递归的方式来遍历整个目录及其子目录的大小。
------其他解决方案--------------------
同样有此疑问的飘过
------其他解决方案--------------------
我找到一个能计算文件夹大小的代码,但是,如果我想要指定目录下,所有文件夹的大小的,可以不?

public long getFileSize(File f)throws Exception//取得文件夹大小
    {
        long size = 0;
        File flist[] = f.listFiles();
        for (int i = 0; i < flist.length; i++)
        {
            if (flist[i].isDirectory())
            {
                size = size + getFileSize(flist[i]);
            } else
            {
                size = size + flist[i].length();
            }
        }
        return size;
    }


------其他解决方案--------------------
引用:
引用:
我找到一个能计算文件夹大小的代码,但是,如果我想要指定目录下,所有文件夹的大小的,可以不?

这段代码是可以的,用递归的方式来遍历整个目录及其子目录的大小。

自己搞定了,我自己发的两个遍历加起来就可以了。回复的都有分
高手,帮我看一下那个Date类型转换的帖子http://bbs.csdn.net/topics/390286349