如何比较两个文件是否一样?

  如何比较两个文件是否一样?是两个文件,两个文件,两个文件,这里是基于二进制比较的。

  太简单了,首先比较文件大小,大小不一样一定不一样。

  如果大小一样,就打开对比字节流,实现可能是一个循环,每次读取 8K 字节,然后按顺序对比,只要有不同就返回不同,直到全部比较完了都没有不同,那就是相同了。

  好简单啊……不如来点逼格?UMU 看到有人是对两个文件取了 MD5 hash,然后比较 hash 是否相等……

  开喷!

  1、MD5 有碰撞问题……有可能不同的文件,hash 出来是一样的,即存在误判的可能。

  2、这效率会耗在计算 hash 上,事实上如果文件不一样,极可能不需要读取整个文件就可以发现不同的,而算 hash 是一定要把文件都读完的。

  总之,咳咳,还是用前面的方法好,hash 的方式适合用于文件很多,很多,很多,每两个之间都要对比的情况,请参考《[UMU WSH 教程](44) WII 应用实例 - 查找重复文件》:http://my.oschina.net/umu618/blog/133901。只有两个,两个,两个对比的情况,请不要装逼,就直接对比,直接对比,直接对比

  装逼和优化都需要谨慎!

你可能感兴趣的:(算法,优化)