Комментарии 15
А чем вас не устроил SharpZipLib, кроме того, что это Not Invented Here?
Как уже писал, мне не хочется включать сторонний компонент (+500 килобайт) в проект ради простейшего функционала. Я конечно понимаю, что в наш век размер дистрибутива не имеет значения, но зачем это делать, если можно потратить два дня на разработку и проблема решена.
а можно потратить на это 2 часа, и остальные 2 дня сделать что-то полезное =)
А почему не воспользоваться WinAPI для сжатия/разжатия файлов?
www.codeproject.com/KB/cs/compresswithwinshellapics.aspx
www.codeproject.com/KB/cs/compresswithwinshellapics.aspx
Для этого нужно, во первых, найти где то этот zip.exe. Во вторых, как распаковать архив в памяти, создавать временный файл? Я понимаю, что это рабочее решение, но для меня решение должно быть еще красивым и надежным.
А потому что :)
Запись временных файлов на диск, не так чтобы уж очень критично, но все же хорошо когда есть выбор как распаковать архив.
Есть еще вариант работы с zip файлами при помощьи Shell API, но лично мне он кажется уж слишком извращенным, и к примеру, распаковать zip архив, находящийся в памяти, с помощью него не получится.
Запись временных файлов на диск, не так чтобы уж очень критично, но все же хорошо когда есть выбор как распаковать архив.
А ZipPackage разве не то же самое делает?
У deflate есть ограничение на размер в 4Gb тогда как с помощью SharpZipLib я недавно успешно сжимал 48 гиг.
Но впринципе если жать какие-нибудь логи или текстовые файлы то вполне подойдет.
Но впринципе если жать какие-нибудь логи или текстовые файлы то вполне подойдет.
У deflate, как алгоритма сжатия, нет ограничения на обьем сжимаемых данных.
А, понятно теперь.
не знаю уж, зачем MS до сих пор не предоставили методов компрессии данных, ограничение в 4 GB — это вообще чушь, да и не часто это требуется.
Меня больше всего удивляет то, что средства работы с zip архивами закрыли(не открыли), не предоставив публичное API.
Главный вопрос, зачем?
Пожалуйста, минусуйте данный комметарий хотя бы попытавшись вникнуть в суть вопроса, либо дайте вменяемый ответ.
Меня больше всего удивляет то, что средства работы с zip архивами закрыли(не открыли), не предоставив публичное API.
Главный вопрос, зачем?
Пожалуйста, минусуйте данный комметарий хотя бы попытавшись вникнуть в суть вопроса, либо дайте вменяемый ответ.
Насчет ZIP я не знаю, но апи для компрессии есть и вполне удачно используется — RtlCompressBuffer. И даже на MSDN его описали: http://msdn.microsoft.com/en-us/library/ff552127(VS.85).aspx
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Работа с zip архивами в .NET