Как извлечь ZIP файл в C # - PullRequest
       8

Как извлечь ZIP файл в C #

9 голосов
/ 28 ноября 2010

Как извлечь ZIP-файл с помощью C #?

Ответы [ 3 ]

16 голосов
/ 10 января 2014

в .NET Framework 4.5 и новее

using System;
using System.IO;
using System.IO.Compression;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            string startPath = @"c:\example\start";
            string zipPath = @"c:\example\result.zip";
            string extractPath = @"c:\example\extract";

            ZipFile.CreateFromDirectory(startPath, zipPath);

            ZipFile.ExtractToDirectory(zipPath, extractPath);
        }
    }
}
14 голосов
/ 28 ноября 2010

DotNetZip :

библиотека классов и набор инструментов для работы с zip-файлами.Используйте VB, C # или любой другой язык .NET для простого создания, извлечения или обновления zip-файлов ...

DotNetZip работает на ПК с полной .NET Framework, а также работает на мобильных устройствах, использующих .NET.Компактный каркас.Создавайте и читайте zip-файлы на VB, C # или любом другом языке .NET или в любой среде сценариев.DotNetZip поддерживает следующие сценарии:

  • приложение Silverlight, которое динамически создает ZIP-файлы.
  • приложение ASP.NET, которое динамически создает ZIP-файлы и позволяет браузеру загружать их
  • Служба Windows, которая периодически архивирует каталог для резервного копирования и архивирования
  • Программа WPF, которая изменяет существующие архивы - переименовывает записи, удаляет записи из архива или добавляет новые записи в архив
  • приложение Windows Forms, которое создает зашифрованные AES zip-архивы для обеспечения конфиденциальности архивного содержимого.
  • сценарий SSIS, который распаковывает или архивирует
  • административный сценарий в PowerShell или VBScript, который выполняет резервное копирование и архивирование.
  • служба WCF, которая получает zip-файл в виде вложения и динамически распаковывает zip-файл в поток для анализа
  • приложение старой школы ASP (VBScript), которое создает ZIP-файл черезCOM-интерфейс для DotNetZIp
  • приложения Windows Forms, которое читает или обновляетODS файлы
  • создание zip-файлов из потокового содержимого, сохранение в поток, извлечение в поток, чтение из потока
  • создание самораспаковывающихся архивов.

Если все, что вам нужно, это лучший класс DeflateStream или GZipStream для замены класса, встроенного в .NET BCL, то в DotNetZip это тоже есть.DlateNetZip DeflateStream и GZipStream доступны в отдельной сборке на основе порта .NET Zlib.Эти потоки поддерживают уровни сжатия и обеспечивают гораздо лучшую производительность, чем встроенные классы.Существует также ZlibStream для завершения набора (RFC 1950, 1951, 1952) ...

весело

5 голосов
/ 28 ноября 2010

Я рекомендую использовать библиотеку #ziplib: http://www.icsharpcode.net/opensource/sharpziplib/
Это бесплатный и открытый исходный код.

...