如何在Java中获取文件大小[重复]

问题

可能重复:文件夹或文件的大小

我使用此代码实例化aFile对象:

File f = new File(path);

我如何获得此文件的大小?

有什么区别getUsableSpace(),getTotalSpace()getFreeSpace()


#1 热门回答(190 赞)

Fileclass中使用length()方法。来自javadocs:

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

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

  • getUsableSpace()返回此抽象路径名指定的分区上此虚拟机可用的字节数
  • getTotalSpace()返回此抽象路径名指定的分区的大小
  • getFreeSpace()返回此抽象路径名指定的分区中未分配的字节数

#2 热门回答(33 赞)

你试过了吗

long length = f.length();

对于getUsableSpace(),getTotalSpace(),getFreeSpace()之间的差异,请查看J2SE 1.6中的this增强功能


#3 热门回答(14 赞)

快速谷歌了。似乎要找到你这样做的文件大小,

long size = f.length();

你发布的三种方法之间的差异可以在here找到

getFreeSpace()和getTotalSpace()非常自我解释,getUsableSpace()似乎是JVM可以使用的空间,在大多数情况下,它将与可用空间量相同。