如何在 Java 中获得文件大小

可能的复制品:
文件夹或文件大小

我使用这段代码来实例化一个 File对象:

File f = new File(path);

我如何得到这个文件的大小?

getUsableSpace()getTotalSpace()getFreeSpace()之间的区别是什么?

251445 次浏览

试试这个:

long length = f.length();

使用 File类中的 length()方法:

返回由此抽象路径名表示的文件长度。如果此路径名表示目录,则返回值未指定。

如今我们应该使用 Files.size()方法:

Path path = Paths.get("/path/to/file");
long size = Files.size(path);

问题的第二部分,直接来自 File的 javadocs:

  • 返回此抽象路径名命名的分区上此虚拟机可用的字节数

  • 返回由此抽象路径名命名的分区的大小

  • 返回由此抽象路径名称命名的分区中未分配的字节数

我快速搜索了一下,看起来要找到这个文件的大小,

long size = f.length();

您发布的三个方法之间的差异可以在 给你中找到

GetFreeSpace ()和 getTotalSpace ()是不言自明的,getUsableSpace ()似乎是 JVM 可以使用的空间,在大多数情况下,它与空闲空间的数量相同。