說明: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)
