вторник, 28 октября 2008 г.

Zip-архивирование в C#

Все гениальное - просто. И все простое - просто гениально! Это так!
Программирование - это тоже просто! Если программирование - сложно, значит вы не программист.

Суть в чем? В том, чтобы писать программы коротко, ясно и понятно. И работают тогда они, на удивление быстро. Самое лучшее решение - обычно самое короткое, и как показывает практика - самое лучшее.

К чему такое предисловие? Решил я заархивировать файл в C#. И как это сделать я никак не мог понять.
Иду в www.google.ru
Ввожу - "Zip архивирование в C#"
Выдает! Какая-то библиотека - SharpZipLib.
Качаю, начинаю разбираться. Вот здесь папочка Samples. Вот здесь то, вот здесь сё. Ну и так далее. Значит запускаю я эти сэмплы - вылетают эксэпшны. Не какит, думаю... Лезу в документацию. Ноль пользы.

Итак... Время поджимает. Прогу писать надо. Лезу в www.google.ru
Ввожу то же самое. Нахожу - DotNetZipLib!
На главной странице библиотеки нахожу пример кода! Вот он!
<---------------------------------------------------------------------->
try
{
using (ZipFile zip = new ZipFile("C:\\MyZipFile.zip"))
        {
         zip.AddFile("c:\\Base.txt");
zip.Save();
}
}
catch (System.Exception ex1)
{
            System.Console.Error.WriteLine("exception: " + ex1);
}
<---------------------------------------------------------------------->

Вот это да! Нет, вы представляете! "zip.AddFile("c:\\Base.txt");"
AddFile - Добавить Файл! Все просто!
Я смело подключаю библиотеку к своему проекту:
"using Ionic.Utils.Zip;"

И все! Программа работает!
Более того с помощью библиотеки DotNetZipLib можно также разархивировать архив(ы), добавить в архив(ы), и еще много чего!

Удачи!