首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何获取文件夹或文件的大小?

如何获取文件夹或文件的大小?
EN

Stack Overflow用户
提问于 2018-03-22 05:18:22
回答 2查看 0关注 0票数 0

如何在Java中检索文件夹或文件的大小?

EN

回答 2

Stack Overflow用户

发布于 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;
}
票数 0
EN

Stack Overflow用户

发布于 2018-03-22 14:40:46

你需要FileUtils#sizeOfDirectory(File)commons-io

请注意,你需要手动检查该文件是否为目录,因为如果将非目录传递给该目录,该方法会引发异常。

警告:这个方法(从commons-io 2.4开始)有一个bug,IllegalArgumentException如果目录被同时修改,可能会抛出。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100003664

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档