Как стать автором
Обновить

Комментарии 22

Скажите, а почему в сравнение не попал штатный ZIP, живущий в комплекте поставки .NET фреймворка?
Насколько я понимаю, он жмёт в формате GZip, а он несколько отлчичается от обычного zip.
Никак нет :) и GZip, и Zip.
Летом искал штатную возможность создать зип, так и не нашёл. Подкиньте ссылку, где можно почитать.
Полагаю, надо искать вот это System.IO.Compression.GZipStream, например, здесь
System.IO.Compression.dll
Это дотНет 4.5 добавили ZipArchive класс в либу System.IO.Compression.dll msdn.microsoft.com/en-us/library/system.io.compression.ziparchive%28v=VS.110%29.aspx

Другой нормальной потдержки Zip нема, можно воспользоваться легаси либами VB, можно в System.IO.Packaging в качестве костыля поковыряться.
А в чем костыльность System.IO.Packaging?
Поробуйте сделать зип файл без метаданных.
Сжатие не поддерживается.
С чего бы вдруг?
Извиняюсь, действительно, МСДН говорит, что поддерживается)
Нужно будет и этот класс погонять)
Открыл для себя Америку, узнав что в .Net 4 есть поддержка Zip через System.IO.Packaging. Посмотрел MSDN — все не так радужно. Это «пакет», пожатый в ZIP. Там всякие ненужные метаданные + прочитать чужой ZIP, который не созданный пакет — нельзя.

weblogs.asp.net/jgalloway/archive/2007/10/25/creating-zip-archives-in-net-without-an-external-library-like-sharpziplib.aspx
One weird side-effect of using the ZipPackage to create Zips is that Packages contain a content type manifest named "[Content_Types].xml". If you create a ZipPackage, it will automatically include "[Content_Types].xml"., and if you try to read from a ZIP file which doesn't contain a file called "[Content_Types].xml" in the root, it will fail.
Сборка WindowsBase, пространство имен System.IO.Packaging
… А GZip соответственно в сборке System, пространство имен System.IO.Compression.
Это всё про .NET 3.5
В своё время хотелось поиспользовать упаковщик, который умеет утилизировать все ядра (>2), но так ничего и не нашлось. Пришлось резать поток данных на куски кратно числу ядер и сжимать их параллельно. На том и остановились — т.е. без костыля не обошлось.
Ну да, на четырёхядернике с HT(система видит 8 ядер) даже DotNetZip использовал не все ресурсы.
SevenZipSharp еще попробуйте. Обычный зип там тоже есть, а 7-зип вообще многопоточный можно сделать
Спасибо за информацию, посмотрю что это.
Тоже хотел коммент добавить, почему такой известный архиватор, как 7-zip, стороной обошли в статье. В свое время именно его и использовал, достаточно удобно.
Сколько же можно просить не пользоваться этим недохостингом ipicture… Из Японии, например, вообще не открывается ни одна картинка.
Будьте добры, перезалейте картинки на http://habrastorage.org/. Статье жизнь продлите!
Так у меня был гостевой аккаунт, я не мог заливать на хабрахранилище.
Спасибо за напоминание, обязательно перезалью.
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации