Java 如何获得一个文件或文件夹的大小

215 阅读1分钟

有时候我们需要知道一个文件的大小。

我们可以使用一些方法,比如说将文件读取成 InputStream,然后再使用 available() 获得长度就可以了。

我们也可以使用 FileUtils 来获得。

使用的方法是:

FileUtils.sizeOf(localFileCache)

localFileCache 中定义的是文件对象。

关于 sizeOf 的使用为:返回指定的文件或者文件夹的大小。如果你的 File 对象为一个文件的话,这个方法将会返回文件的大小。

如果你的 File 对象为一个目录的话,那么上面的方法将会返回这个文件夹的大小。这个文件夹的大小将会包含这个文件夹中所有子文件夹的内容。换句话说,这个方法是进行递归大小查询的。

[![size0f-01](https://cdn.ossez.com/discourse-uploads/optimized/1X/b15b49e71fd1cfc853ad593cc6645b2866970338_2_690x419.png)](https://cdn.ossez.com/discourse-uploads/original/1X/b15b49e71fd1cfc853ad593cc6645b2866970338.png "size0f-01")

但是,如果一个文件夹或者子文件夹有安全限制,不允许访问的话,那么这个方法将不会将上面的文件夹的内容进行计算。

www.ossez.com/t/java/620