C#基础之如何判断两个文件内容是否相同
生活随笔
收集整理的這篇文章主要介紹了
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#基础之如何判断两个文件内容是否相同的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PYTHON__关于Socket中的Se
- 下一篇: 解决oninput在输入中文时,会获取拼