C#基础之如何判断两个文件内容是否相同
使用System.security.Cryptography.HashAlgorithm类为每个文件生成一个哈希码,然后比较两个哈希码是否相同。
该哈希算法为一个文件生成一个小的二进制“指纹”,从统计学的角度来看,不同的文件不可能生成相同的哈希码
要生成一个哈希码,必须首先创建一个HashAlgorithm对象,通过HashAlgorithm.Create方法来完成。然后调用
HashAlgorithm.ComputeHash方法,它会返回一个存储哈希码的字节数组,再使用BitConverter.Tostring()将其
装换为字符串进行比较。
源码如下:
public static bool isValidFileContent(string filePath1, string filePath2){//创建一个哈希算法对象using (HashAlgorithm hash = HashAlgorithm.Create()){using (FileStream file1 = new FileStream(filePath1, FileMode.Open),file2=new FileStream(filePath2,FileMode.Open)){byte[] hashByte1 = hash.ComputeHash(file1);//哈希算法根据文本得到哈希码的字节数组byte[] hashByte2 = hash.ComputeHash(file2);string str1 = BitConverter.ToString(hashByte1);//将字节数组装换为字符串string str2 = BitConverter.ToString(hashByte2);return (str1==str2);//比较哈希码}}}
使用该函数的主函数
static void Main(string[] args){string filePath1 = @"f:/1.txt";string filePath2 = @"f:/2.txt";bool valid=isValidFileContent(filePath1, filePath2);Console.WriteLine(valid.ToString());Console.ReadKey();}
转载于:https://www.cnblogs.com/luodao1991/archive/2013/05/01/3052771.html
C#基础之如何判断两个文件内容是否相同相关推荐
- linux判断两个文件内容,shell怎么判断两个文件内容是否相同
#cat diff_two_file #/bin/sbin file1=/mnt/mmc/test/aa file2=/mnt/mmc/test/bb diff $file1 $file2 > ...
- Python判断两个文件夹中互相不同的文件有哪些、判断一个文件夹相对于另外一个文件夹缺少了哪些文件
Python判断两个文件夹中互相不同的文件有哪些.判断一个文件夹相对于另外一个文件夹缺少了哪些文件 目录 Python判断两个文件夹中互相不同的文件有哪些.判断一个文件夹相对于另外一个文件夹缺少了哪些 ...
- python判断相同,Python判断两个文件是否相同与两个文本进行相同项筛选的方法
python判断两个文件是否相同 import hashlib def gethash(f): line=f.readline() hash=hashlib.md5() while(line): ha ...
- python文件比较,判断两个文件是否相同
# 判断两个文件是否相同.要求用函数实现文件比较功能,在main函数中进行验证. # 下述函数完成文件是否相同的比较功能 def compareFile(file1,file2):#请在此添加代码,实 ...
- c语言 判断两个文件是否相同
文章目录 前言 一.代码 二.示例 总结 前言 在实际开发的时候有时需要比较文件是否相同,生成md5摘要比较固然是比较好的方法,有时只是需要写个简单的测试程序,在c语言引入md5库就有点麻烦了,直接比 ...
- jq 比较两个时间是否在同一天_.NET CORE下最快比较两个文件内容是否相同的方法...
最近项目有个需求,需要比较两个任意大小文件的内容是否相同,要求如下: 项目是.NET CORE,所以使用C#进行编写比较方法 文件大小任意,所以不能将文件内容全部读入到内存中进行比较(更专业点说,需要 ...
- .NET CORE下最快比较两个文件内容是否相同的方法
最近项目有个需求,需要比较两个任意大小文件的内容是否相同,要求如下: 项目是.NET CORE,所以使用C#进行编写比较方法 文件大小任意,所以不能将文件内容全部读入到内存中进行比较(更专业点说,需要 ...
- Linux 基础命令——比较两个文件内容的不同
语法]: diff [参数] 文件1 文件2 [说明]: 本命令比较两个文本文件,将不同的行列出来 -b 将一串空格或TAB 转换成一个空格或TAB -e 生成一个编辑角本,作为ex 或ed 的输入可 ...
- Python Tips 01 : 判断两个文件是否相同
python中提供了很便捷的方法来判断两个文件的内容是否相同,只要两行代码: import filecmp filecmp.cmp(r'e:\1.txt',r'e:\2.txt') 如果两个文件相同, ...
最新文章
- CICC科普栏目丨时间之箭:从熵到大爆炸再到万物理论(一)
- HTML学习01之初识HTML
- lucky number
- Oracle 把游标说透
- Angular2 从搭建环境到开发
- hadoop yarn 获取日志_Hadoop YARN配置参数剖析(2)—权限与日志聚集相关参数
- python相比于excel的优势_对照Excel使用Python进行数据分析,更快掌握
- linux网络IO模型
- Android开发笔记(一百零五)社会化分享SDK
- 数据结构与算法的分析
- Elastic-Job | 由浅入深一篇理解分布式定时任务的基本用法及简单原理解析
- 万兆交换机用什么网线_现在国内没有万兆宽带,那为什么有万兆网线呢?
- html阅读模式怎么进入word模式,word阅读模式怎么取消
- 会php学java入门要多久_php自学需要多久
- vb.net 编写的简易串口调试程序
- Redis(服务端/客户端)的启动、关闭、查看状态
- manjaro 显卡驱动
- jvm虚拟机基础知识--、java内存区域(1)
- 大学英语四级翻译技巧讲解
- 大型企业网络安全解决方案
热门文章
- 买房贷款时为什么银行让客户选等额本息,这是不是个坑?
- 有钱了该不该提前还清房贷?
- 一部珍贵的130位作家的手稿集
- VHDL程序基本构建
- stright 在mysql_MySQL优化的奇技淫巧之STRAIGHT_JOIN
- sql server cdc 清理_基于CDC技术的ElasticSearch索引同步机制
- 删除 索引 外键 mysql_MySQL无法删除外键约束中所需的索引
- mysql innodb myisam 混合,MySQL MyIsam/InnoDB混合在一起的事务
- NIPS 2016 Highlighted Papers
- win32框架,GDI图形编程写一个HelloWorld游戏_c语言