该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这篇文章诺博源介绍了JAVA读取文件夹大小的单线程递归方式实例,有需要的朋友可以参考一下。
具体的诺博源分享如下:
package com.taobao.test;import java.io.File;public class TotalFileSizeSequential
{
public static String fileName = "C:\\Documents and Settings\\Administrator\\桌面\\monkeytalk";
//
递归方式 计算文件的大小
private long getTotalSizeOfFilesInDir(final File file)
{
if (file.isFile())
return file.length();
final File[] children = file.listFiles();
long total = 0;
if (children != null)
for (final File child : children)
total += getTotalSizeOfFilesInDir(child);
return total;
}
public static void main(final String[] args)
{
final long start = System.nanoTime();
final long total = new TotalFileSizeSequential()
.getTotalSizeOfFilesInDir(new File(fileName));
final long end = System.nanoTime();
System.out.println("Total Size: " + total);
System.out.println("Time taken: " + (end - start) / 1.0e9);
}
}