【发布时间】:2015-11-06 06:47:17
【问题描述】:
我正在使用 java.io.File.length() 方法来获取文件的大小。
但对于稀疏文件,此值可能与该文件使用的实际磁盘空间有很大不同。
有没有办法获取文件的实际磁盘使用情况?
文件的外观大小是文件中的字节数。例如,一个包含单词“zoo”但没有换行符的文件当然会显示大小为 3。但是,使用以下命令创建的稀疏文件:
dd bs=1 seek=2GiB if=/dev/null of=big
外观大小为 2 GiB,但在大多数现代系统上,它实际上几乎不使用磁盘空间。
【问题讨论】:
-
这高度依赖于操作系统,所以如果 Java(我的意思是标准 JDK 库)中有一种方法可以做到这一点,我会感到非常惊讶。无论如何,可能有一个不起眼的第三方库。