File.length中的文件大小与Windows资源管理器不同

时间:2015-03-05 18:24:40

标签: java windows file

我正在使用File(outputFilePath).length()来获取文件的大小。但Windows资源管理器告诉我它略大,即144835对151,412字节。这是令人惊讶还是预期的?

1 个答案:

答案 0 :(得分:2)

不同之处在于,windows可以处理通常为4Kb(4096字节)的块中的磁盘。这是操作系统可以单独处理的最小磁盘空间部分。因此,当文件没有填满整个块时,磁盘空间会被浪费,即使实际文件大小较小,它仍然会占用已分配块的磁盘空间 - 在您的情况下它占用了37个4Kb块。您可以更改块大小,但必须格式化磁盘才能执行此操作。 Java File.length()以字节为单位返回实际大小。