检查两个文件是否相同的智能方法是什么?

时间:2011-10-23 10:19:47

标签: file file-io operating-system checksum

我正在寻找智能有效的方法来检查两个文件是否完全相同。

程序将递归循环所有文件夹,它们可能包含非常大的文件。

所以我决定使用增量检查

循环时:

  1. 获取所有文件大小,将它们放入带有相关文件路径的数据库条目中。
  2. 找到尺码匹配后,请md5 hash check来决定。
  3. 敲定并做任何必要的事。
  4. 这几乎已经做到了。但是,我想知道哪些其他选择足够快?

1 个答案:

答案 0 :(得分:1)

我想不出你有多少其他选择。

请记住,md5哈希检查(或任何其他计算)实际上只有在您预先存在md5哈希检查(或其他一些计算)的情况下才有用,并且您希望合理地确保该文件自您的文件未发生更改已存在的计算最后完成。

用于合理确定的其他事项(使用预先存在的计算)是......

1.  Inode and mount point IDs from the stat() family.
2.  mtime comparisons for info on when the file was last modified.

否则,您将在两个文件之间进行直接的逐字节比较。