![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
Cold_Almaty |
|
|||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 22.1.2008 Репутация: нет Всего: нет |
Всем доброго времени суток.
Как программно сравнить два и более файлов по содержимому? Если можно пример ![]() |
|||
|
||||
Ram1reS |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 141 Регистрация: 25.4.2008 Где: Москва Репутация: 3 Всего: 5 |
Смотря какие файлы сравнивать - если просто текстовые, то :
Это сообщение отредактировал(а) Ram1reS - 28.4.2008, 12:23 --------------------
|
|||
|
||||
Owner |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 29.4.2005 Где: г. Москва Репутация: нет Всего: нет |
См. пример в MSDN по методу File.OpenRead. Читаешь два файла в байтовые массивы, а затем в цикле сравниваешь массивы побайтно. Если хотя-бы один байт не сравнивается заканчиваешь цикл с ошибкой - "файлы не равны" иначе файлы идентичны. (С#)
![]() |
|||
|
||||
Cold_Almaty |
|
|||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 22.1.2008 Репутация: нет Всего: нет |
for Ram1reS: Файлы не обязательно текстовые.
А можно как нибудь сравнить хэш файлов? |
|||
|
||||
Moid |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 396 Регистрация: 27.3.2006 Репутация: 2 Всего: 3 |
Вот так при промощи NUnit можно:
-------------------- "Всё должно быть сделано настолько простым, насколько это возможно, но не проще" (с) А.Эйнштейн |
|||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Пример уже был, в поиске найдётся по слову MD5. Вкратце:
-------------------- ![]() |
|||
|
||||
Cold_Almaty |
|
|||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 22.1.2008 Репутация: нет Всего: нет |
for Moid: Что такое NUnit? И FileAssert?
|
|||
|
||||
Moid |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 396 Регистрация: 27.3.2006 Репутация: 2 Всего: 3 |
NUnit - тестирование приложения. Вот подробнее с примерами: http://www.xprogramming.com/xpmag/acsUsingNUnit.htm -------------------- "Всё должно быть сделано настолько простым, насколько это возможно, но не проще" (с) А.Эйнштейн |
|||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Ага, и запускать приложение через nunit.exe имя_проги
![]() Чем способ с MD5 не угодил? Сравнить хеши и всё. -------------------- ![]() |
|||
|
||||
Ch0bits |
|
|||
![]() Python Dev. ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2124 Регистрация: 21.2.2005 Где: Казань Репутация: 9 Всего: 62 |
Вместо запуска ваших хитрых NUnit'ов и хешев можно сначала просто сравнить размеры файлов - не равны, значит разные.
![]() |
|||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Наш хеш не хитрый, он простой как доска.
![]() -------------------- ![]() |
|||
|
||||
Cold_Almaty |
|
|||
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 22.1.2008 Репутация: нет Всего: нет |
Пасиб всем откликнувшемся.
Сделал через сравнение хэш-сумм. Всё оказалось очень просто. |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |