如何在Java中检索文件夹或文件的大小?
java.io.File file = new java.io.File("myfile.txt"); file.length();
0如果文件不存在,则以字节为单位返回文件的长度。没有内置的方法来获取文件夹的大小,你将不得不递归遍历目录树(使用listFiles()代表目录的文件对象的方法)并为自己积累目录大小:
0
listFiles()
public static long folderSize(File directory) { long length = 0; for (File file : directory.listFiles()) { if (file.isFile()) length += file.length(); else length += folderSize(file); } return length; }
警告:此方法不足以用于生产。directory.listFiles()可能返回null并导致NullPointerException。另外,它不考虑符号链接,并且可能具有其他故障模式。
directory.listFiles()
null
NullPointerException