C#如何实现比较两个文件的内容是否完全相同?

 我来答
鱻儿
2013-08-24 · TA获得超过109个赞
知道答主
回答量:121
采纳率:0%
帮助的人:121万
展开全部
◆如果传递给函数的两个文件引用是指向相同的文件,则这两个文件一定相同,也就不需要进一步比较文件的内容。 ◆如果两个文件的大小不相同,则这两个文件的内容一定不相同,也就不需要进一步比较文件的内容。 图1-34所示的是程序范例CH1_DemoForm044 private void btnGoToCompare_Click(object sender,EventArgs e){ if(FileCompare(this.TextBox1.Text,this.TextBox2.Text)){ MessageBox.Show(两个文件是相同的。);}else{ MessageBox.Show(两个文件并不相同。);}}// 此方法所接收的两个字符串代表您所要比较的两个文件。如果两个文件的内容完全相同, 将返回 True;任何其他 // 的返回值都表示这两个文件的内容有所差异。 private bool FileCompare(string file1,string file2){ // 判断相同的文件是否被参考两次。 if(file1 == file2){ return true;}int file1byte = 0; int file2byte = 0; using(FileStream fs1 = new FileStream(file1,FileMode.Open), fs2 = new FileStream(file2,FileMode.Open)){ // 检查文件大小。如果两个文件的大小并不相同,则视为不相同。 if(fs1 Length != fs2.Length){ // 关闭文件。 fs1.Close(); fs2.Close(); return false;}// 逐一比较两个文件的每一个字节,直到发现不相符或已到达文件尾端为止。do{ // 从每一个文件读取一个字节。 file1byte = fs1.ReadByte(); file2byte = fs2.ReadByte();} while ((file1byte == file2byte) && (file1byte != -1)); // 关闭文件。 fs1.Close(); fs2.Close();}// 返回比较的结果。在这个时候,只有当两个文件的内容完全相同时,
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式