文件大小/统计信息在所有文件系统中是否一致?

时间:2018-06-30 13:37:51

标签: file filesystems cross-platform filesize stat

我正在考虑编写使用filesize作为预测试来测试两个文件是否等效的软件。如果简单的文件大小整数比较失败,则无需应用复杂的文件内容比较。该软件将以golang编写(第一篇),但我认为这个问题实际上归结为stat syscall,因此与语言无关。

我一定需要一个独立于平台的解决方案。它必须跨所有系统和文件系统工作。我可以确定文件内容在所有文件系统中都是相同的字节序列,但是文件大小呢?

如果我将文件从一个文件系统传输到另一个文件系统,是否可以确保在另一个文件系统上获得相同的文件大小?

[当然,我不在乎文件元数据。这显然是不一致的。我只关心内容的大小]

1 个答案:

答案 0 :(得分:2)

是的,st_size在所有文件系统中都应该相同(至少是与posix兼容的)。一个字节毕竟是一个字节,无论您将其存储在何处。但是,所消耗的磁盘空间可能会有所不同,具体取决于文件系统的基础块大小。