Сравнение двух текстовых файлов - C# (179854)

Узнай цену своей работы

Формулировка задачи:

Добрый вечер! Задачка такая стоит: Сравнить два текстовых файла. Определить одинаковые ли они? То есть соответствуют ли соответствующие символы у строчках и способ разбиения на строчки). Вот мой код:
Листинг программы
  1. using System;
  2. using System.IO;
  3. namespace laba10_part2
  4. {
  5. class Program
  6. {
  7. static void Logic(string path, string path1) {
  8. StreamReader first = new StreamReader(path);
  9. StreamReader second = new StreamReader(path1);
  10. int i = 0;
  11. int m = 0;
  12. string count1=null;
  13. string count2 = null;
  14. while (!first.EndOfStream) {
  15. i++;
  16. count1 += first.ReadLine();
  17. }
  18. while (!second.EndOfStream)
  19. {
  20. m++;
  21. count2 += second.ReadLine();
  22. }
  23. if (count1 != count2)
  24. {
  25. Console.WriteLine("Разные");
  26. }
  27. else {
  28. Console.WriteLine("Одинаковые");
  29. }
  30. }
  31. static void Read(string path,string path1) {
  32. StreamReader first = new StreamReader(path);
  33. Console.WriteLine("Первый файл\n");
  34. while (!first.EndOfStream) {
  35. Console.WriteLine(first.ReadToEnd());
  36. }
  37. Console.WriteLine("Второй файл\n");
  38. StreamReader second = new StreamReader(path1);
  39. while (!second.EndOfStream)
  40. {
  41. Console.WriteLine(second.ReadToEnd());
  42. }
  43. } //Выводим содержимое файлов
  44. static void Main(string[] args)
  45. {
  46. try
  47. {
  48. Console.WriteLine("***");
  49. string path = @"D:\proga\file1.txt";
  50. string path1 = @"D:\proga\file2.txt";
  51. Read(path, path1);
  52. Logic(path,path1);
  53. }
  54. catch (Exception e) {
  55. Console.WriteLine(e.Message);
  56. }
  57. }
  58. }
  59. }
ну по сути вот сам алгоритм
Листинг программы
  1. StreamReader first = new StreamReader(path);
  2. StreamReader second = new StreamReader(path1);
  3. int i = 0;
  4. int m = 0;
  5. string count1=null;
  6. string count2 = null;
  7. while (!first.EndOfStream) {
  8. i++;
  9. count1 += first.ReadLine();
  10. }
  11. while (!second.EndOfStream)
  12. {
  13. m++;
  14. count2 += second.ReadLine();
  15. }
  16. if (count1 != count2)
  17. {
  18. Console.WriteLine("Разные");
  19. }
  20. else {
  21. Console.WriteLine("Одинаковые");
  22. }
Содержимое файлов от балды,к примеру file kick detroit nuttertools regex un pol het hate tools extra metallica slipknot Rammstein Вроде сравнивает всё,но правильно я сделал? Если я к примеру ставлю пробел после последнего слова и сохраняю,то уже разные. А можно к примеру сделать без пробелов и абзацов(чтоб они не считались,а считались именно символы(с точки зрения юзера,к примеру))? Подскажите пожалуйста как. msdn читал и FAQ тоже,все вроде понимаю,но всё таки..

Решение задачи: «Сравнение двух текстовых файлов»

textual
Листинг программы
  1. using System;
  2. using System.IO;
  3. using System.Security.Cryptography;
  4. using System.Text;
  5.  
  6. namespace ConsoleApplication6
  7. {
  8.     class Program
  9.     {
  10.         static void Main(string[] args)
  11.         {
  12.            
  13.             string file1 = GetMd5(File.ReadAllBytes(@"D:\file1.txt"));
  14.             string file2 = GetMd5(File.ReadAllBytes(@"D:\file2.txt"));
  15.             if (file1 == file2)
  16.             { Console.WriteLine("Файлы одинаковые"); }
  17.             else { Console.WriteLine("Файлы НЕ одинаковые"); }
  18.             Console.ReadKey();
  19.         }
  20.  
  21.         public static string GetMd5(byte[] b)
  22.         {
  23.             MD5 md5Hash = MD5.Create();
  24.             byte[] data = md5Hash.ComputeHash(b);
  25.             StringBuilder hash = new StringBuilder();
  26.             for (int i = 0; i < data.Length; i++)
  27.             {
  28.                 hash.Append(data[i].ToString("x2"));
  29.             }
  30.             return hash.ToString();
  31.         }
  32.     }
  33. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.083 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы