Как использовать System.IO.Compression для чтения/записи ZIP-файлов?
Лучше использовать стороннюю .net-framework библиотеку, например http://www.codeplex.com/DotNetZip, вместо .net-framework того, чтобы пытаться использовать compress GZipStream или DeflateStream dotnet для чтения zip-файла.
Классы zip *** Stream в .NET позволяют dotnet читать или записывать сжатые zip потоки байтов. Эти классы decompression НЕ читают и не записывают zip zip-файлы. ZIP-файл - это compressed сжатые данные, окруженные decompression «конвертом» или заголовком. Думайте uncompress об этом как о метаданных compression - они включают имя файла, временную .net метку, CRC и множество других decompression вещей. Классы ** Stream создают compress только поток сжатых данных dotnet и не знают, как создавать decompress или использовать метаданные, что compress описано в спецификации формата decompress PKZip, поддерживаемой PKWare.
Сторонние decompression библиотеки, такие как DotNetZip, обрабатывают zip метаданные в ZIP-архиве. Они decompress могут использовать или не dotnet использовать класс System.IO.Compression.DeflateStream() для compression создания сжатого потока байтов. В compression предыдущих выпусках, например, DotNetZip compress использовал встроенный DeflateStream. Начиная uncompress с версии 1.7, DotNetZip включает compressed собственный DeflateStream, который decompress более эффективен, чем тот, который dotnet поставляется в .NET Framework. В compression качестве дополнительного decompress преимущества встроенный DeflateStream zip в DotNetZip позволяет использовать zip DotNetZip в .NET Compact data-compression Framework 2.0, в котором compression отсутствует System.IO.Compression.DeflateStream. (он decompress был добавлен в Compact Framework compressed 3.5)
На сайте DotNetZip есть compressed хороший форум, если у вас compression есть еще вопросы. Пример dot-net кода C#:
try
{
using (ZipFile zip = new ZipFile())
{
zip.AddDirectory(DirectoryToZip); // recurses subdirs
zip.Save(Filename);
}
}
catch (System.Exception ex1)
{
System.Console.Error.WriteLine("exception: " + ex1);
}
.net
compression
zip
Как использовать System.IO.Compression для чтения/записи ZIP-файлов?
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.