我碰到这个代码http://support.microsoft.com/kb/320348,这让我想知道为了弄清楚它们是否有区别,比较两个文件的最佳方法是什么。逐字节比较文件还是读取所有字节?
主要想法是优化我的程序,需要验证任何文件是否相同,以创建删除/创建的已更改文件和/或文件的列表。
目前我比较文件的大小,如果他们匹配我会进入一个md5校验的2个文件,但在看到这个问题的开始时链接的代码后,它让我想知道它是否真的值得使用它来创建2个文件的校验和(这基本上是在获得所有字节后)?
我还应该做些什么其他验证来减少检查每个文件的工作?
我认为这很大程度上取决于你平等的意思。你想测试文件中的文本或实际字节的相等性吗?文件的内容是什么?空间是否重要(文本平等)? MD5校验和会在行的末尾找到2个空格和1个空格之间的差异,其中简单的文本比较可能不会。 – linuxuser27 2010-12-14 00:55:35
MD5需要将这两个文件全部读取,然后对大文件执行哈希操作,这可能非常耗时。 – Aliostad 2010-12-14 00:57:21
这就是为什么我想知道这个问题,Aliostad和Anon提出了我想知道的观点。 – Prix 2010-12-14 02:17:12