Архивирование файлов. RAR, ZIP.

Опубликовано 23 марта, 2009 в разделе Примеры на C#. Разместил Алексей(admin).

В этой статье я хотел бы поговорить про архивирование файлов. Лидером из библиотек по Архивированию является Zlib, но я не подружился с ней. Никак не смог разобраться(ну честно, я не особо старался) ни когда сидел на C++ ни на C#, хотя всё же надо будет разобраться.

В Microsoft .NET Framework почему то нет встроенной библиотеки, по архивированию файлов. Есть, но для Java, конечно её можно использовать и в C#, но там получаются проблемы с переносом программ. Ибо на другом ПК должен быть установлен помимо .NET Framework, так ещё и пакет java.util.zip. Хотя я даже реализовывал с помощью его. Вот даже нарыл, скрипт для архивирования папки   java.util.zip.cs (3.1 Кб, 780 скачиваний).

Так же для .NET есть популярная библиотека SharpZipLib.com, с которой я разобрался очень быстро. Подключаем DLL файл ICSharpCode.SharpZipLib.dll к проекту(Project – Add Pereferences – Browse) и

using ICSharpCode.SharpZipLib.Zip;
using ICSharpCode.SharpZipLib.Checksums;
...
FastZip fZip = new FastZip();
fZip.CreateZip(@"C:\file.zip", @"C:\papka", true, "");

Ещё можно архивировать через командную строку архиватора WinRAR, но для этого, конечно, нужно, что бы он был установлен. Открываем процесс с параметрами про которые можно прочитать в Хелпе у WinRAR’а.

using System.Diagnostics;
...
Process process = new Process();
process.StartInfo.CreateNoWindow = true;
process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
process.StartInfo.Arguments = "a -y -inul -ibck C:\\file.zip C:\\PROGRA~1\\DIR";
process.StartInfo.FileName = "WinRAR";
process.Start();

Эх… опять спалил “не документированные функции” :)
Разберусь с Zlib, напишу по подробнее про архивацию.

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru
Что можно ещё почитать:

Оставьте комментарий

You must be logged in to post a comment.