Pull to refresh

Comments 15

А чем вас не устроил SharpZipLib, кроме того, что это Not Invented Here?
Как уже писал, мне не хочется включать сторонний компонент (+500 килобайт) в проект ради простейшего функционала. Я конечно понимаю, что в наш век размер дистрибутива не имеет значения, но зачем это делать, если можно потратить два дня на разработку и проблема решена.
а можно потратить на это 2 часа, и остальные 2 дня сделать что-то полезное =)
Для этого нужно, во первых, найти где то этот zip.exe. Во вторых, как распаковать архив в памяти, создавать временный файл? Я понимаю, что это рабочее решение, но для меня решение должно быть еще красивым и надежным.
А потому что :)
Есть еще вариант работы с zip файлами при помощьи Shell API, но лично мне он кажется уж слишком извращенным, и к примеру, распаковать zip архив, находящийся в памяти, с помощью него не получится.

Запись временных файлов на диск, не так чтобы уж очень критично, но все же хорошо когда есть выбор как распаковать архив.
ZipPackage позволяет создать package с манифестом внутри, который мне совсем без надобности. Насколько мне известно, распаковывать архивы с помощью него нельзя, если они о5 же не содержат манифеста, а это меня совсем не устраивает.
У deflate есть ограничение на размер в 4Gb тогда как с помощью SharpZipLib я недавно успешно сжимал 48 гиг.

Но впринципе если жать какие-нибудь логи или текстовые файлы то вполне подойдет.
У deflate, как алгоритма сжатия, нет ограничения на обьем сжимаемых данных.
Неправильно выразился — я имел в виду конечно DeflateStream класс.

MSDN
...This class cannot be used to compress files larger than 4 GB.…
А, понятно теперь.
не знаю уж, зачем MS до сих пор не предоставили методов компрессии данных, ограничение в 4 GB — это вообще чушь, да и не часто это требуется.

Меня больше всего удивляет то, что средства работы с zip архивами закрыли(не открыли), не предоставив публичное API.

Главный вопрос, зачем?

Пожалуйста, минусуйте данный комметарий хотя бы попытавшись вникнуть в суть вопроса, либо дайте вменяемый ответ.
Sign up to leave a comment.

Articles