C# 实现文件比较
习惯通过大脑热身去克服拖延,如,在开始工作前做一些简单的题目(在之前的字符串相乘中记录了一点心得)。
最近在练习题的网站上遇到一道题,说是如何简单比较两个文件是否相同。第一时间想到的是哈希码对比,但可能要查阅 API ,到这一步就已经完成了大脑热身,于是先暂停,工作才是正事。
完成工作后还是忍不住查看了答案,原来是通过字节比较就可以实现了。首先是比较文件的字节数组,如果数组的长度相同, 则必须比较每个字节,如果都相同,则两件文件相等。代码如下:
static bool FileEquals(string path1, string path2)
{
byte[] file1 = File.ReadAllBytes(path1);
byte[] file2 = File.ReadAllBytes(path2);
if (file1.Length == file2.Length)
{
for (int i = 0; i < file1.Length; i++)
{
if (file1[i] != file2[i])
{
return false;
}
}
return true;
}
return false;
}
网友评论