代码:
public class DirSize
{
public static void main(String[] args)
{
DirSize ds = new DirSize();
System.out.println(ds.getDirSizeInMegabytes(new File("c:/temp")));
}
long getDirSize(File dir)
{
long size = 0;
if (dir.isFile())
{
size = dir.length();
}
else
{
File[] subFiles = dir.listFiles();
for (File file : subFiles)
{
if (file.isFile())
{
size += file.length();
}
else
{
size += this.getDirSize(file);
System.out.println("Directory " + file.getName()
+ " size = " + size / 1021 / 1024);
}
}
}
return size;
}
long getDirSizeInMegabytes(File dir)
{
return this.getDirSize(dir) / 1024 / 1024;
}
}
我想只打印大小目录,例如从初始开始的第二级:
c:\temp1\temp2
但如果还有 temp3:
c:\temp1\temp2\temp3 its size shouldn't be printed.
喜欢:
c:\temp1\temp2 size = 10M
c:\temp1\temp21 size = 15M
....
怎么做?谢谢。