Zip and Unzip in C# / Создание и распаковка zip-архива в C#

Для создания и распаковки zip архивов я использую библиотеку DotnetZip

Создание архива:

using (var zip = new ZipFile())
{
     // оставляем комментарий к архиву
    zip.Comment = "Archive created by " + User.Identity.Name + " at " + DateTime.Now;

    // добавляем незапароленный файл в архив
    zip.AddFile(HostingEnvironment.ApplicationPhysicalPath + "ReadMe.txt");

    // устанавливаем пароль к архиву
    zip.Password = password;

    // добавляем файл в архив, этот файл будет доступен только с вводом пароля, т.к. выше был установлен пароль
    zip.AddFile(databaseFileName);

    // установка уровня сжатия
   zip.CompressionLevel = CompressionLevel.BestCompression;
// сохраняем архив
zip.Save(databaseFileName + ".zip");
}


Распаковка архива:
using (ZipFile zip = ZipFile.Read(zipFile)) zip.ExtractAll(siteFolder, existingFileAction);

Работа библиотеки Меня вполне устраивает, но при сжатии файлов в несколько гигабайт рекомендую использовать:
zip.UseZip64WhenSaving = Zip64Option.AsNecessary;

2 комментария:

  1. Что такое "existingFileAction"?

    ОтветитьУдалить
    Ответы
    1. Если не ошибаюсь это булевый флаг - переписать ли существующие файлы

      Удалить

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