c# – 如何使用.NET快速比较2个文件?

Typical approaches推荐通过FileStream读取二进制并逐字节比较。

>校验和比较(如CRC)会更快吗?
>有没有任何.NET库可以为文件生成校验和?

校验和比较很可能比逐个字节的比较慢。

为了生成校验和,您需要加载文件的每个字节,并对其执行处理。然后,您必须在第二个文件上执行此操作。处理几乎肯定比比较检查慢。

至于生成校验和:你可以很容易地用密码类。这里是一个short example of generating an MD5 checksum与C#。

但是,如果可以预先计算“测试”或“基本”情况的校验和,则校验和可能更快,更有意义。如果你有一个现有文件,并且你正在检查一个新文件是否与现有文件相同,预先计算你的“现有”文件上的校验和意味着只需要做一次DiskIO一次,在新文件。这可能比逐个字节的比较更快。

http://stackoverflow.com/questions/1358510/how-to-compare-2-files-fast-using-net

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:c# – 如何使用.NET快速比较2个文件?