如何在Java中检索文件夹或文件的大小?
发布于 2018-03-22 13:56:45
java.io.File file = new java.io.File("myfile.txt");
file.length();
这将返回文件的长度(以字节为单位)或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;
}
发布于 2018-03-22 14:40:46
你需要FileUtils#sizeOfDirectory(File)
从commons-io。
请注意,你需要手动检查该文件是否为目录,因为如果将非目录传递给该目录,该方法会引发异常。
警告:这个方法(从commons-io 2.4开始)有一个bug,IllegalArgumentException
如果目录被同时修改,可能会抛出。
https://stackoverflow.com/questions/-100003664
复制相似问题