Java获得某目录下文件总大小

说明:File.length()仅仅用于获得某个文件的大小,单位为bytes

如果需要获得某个文件夹下所有文件大小,则需用到递归,依次获得目录下文件、子目录下文件的大小,代码示例如下:

 public static double getDirSize(File file) {     
//判断文件是否存在
if (file.exists()) {
//如果是目录则递归计算其内容的总大小
if (file.isDirectory()) {
File[] children = file.listFiles();
double size = 0;
for (File f : children)
size += getDirSize(f);
return size;
} else {//如果是文件则直接返回其大小,以“兆”为单位
double size = (double) file.length() / 1024 / 1024;
return size;
}
} else {
System.out.println("文件或者文件夹不存在,请检查路径是否正确!");
return 0.0;
}
}

调用方式如下:

double totalSize = getDirSize(new File("f:\\电影"));



推荐一个自己业余时间开发的网盘搜索引擎,360盘搜www.360panso.com

原文地址:https://www.cnblogs.com/eczhou/p/2325663.html