2010-10-05 4 views
0

Я ищу пакет для использования в моем проекте для сжатия некоторых файлов XML. Обычно я использую WinRAR для сжатия файлов, и я думаю, что вы можете сделать это, используя проект 7-Zip, и это может быть включено в .NET-проект.NET библиотеки сжатия файлов

Это аналогично Stack Overflow   вопрос, 7-Zip (7za.dll) .NET wrapper

и Пример кода проекта является C# (.NET) Interface for 7-Zip Archive DLLs.

Я особенно хочу что-то Простой в использовании с хорошее сжатие соотношение. В примере представлены только файлы с экстрактами, и у меня нет особого времени для реализации и тестирования сжатия.

(GZipStream не достаточно хорош, он сжимает мой 10   MB файл 9   МБ, и WinRAR сжимает его до 0,5   МБ.)

Итак, я после библиотеки или пакета (Мне все равно, стоит ли), который я могу включить в свой проект, который позволяет мне легко сжимать и распаковывать файлы с хорошей степенью сжатия и их легко включать и использовать.

+0

WinRAR будет лучше, чем любой ZIP-пакет, потому что RAR является превосходным алгоритмом. Вы не можете использовать RAR, потому что формат защищен законными средствами (не помню, является ли это лицензирование или патентование, которое защищает его, но я считаю, что оно лицензируется) –

ответ

1

Просмотрев множество опций, я нашел SevenZipSharp лучший и простой способ получить файлы RAR из моего приложения.

0

SharpZipLib Обычно это мой отказ по умолчанию для сжатия .NET.

Вы также можете попробовать 7-Zip SDK (который включает в себя привязки C#). Это может обеспечить лучший коэффициент сжатия, чем SharpZipLib.

+0

Обратите внимание, что для 7Zip SDK требуется, чтобы 7zip DLL функционировала, IIRC. –

+0

@Billy - вы можете включить его как элемент в свой проект, чтобы убедиться, что DLL скопирована в каталог bin вашего проекта. –

+0

Да - просто указывая на это.Не все из нас находятся в сценариях, где можно использовать DLL. –

0

Я думаю, что GZipStream позволяет вам сжимать/распаковывать только один файл. Если вы хотите сжать набор файлов/директорий, вы можете использовать DotNetZip.

http://dotnetzip.codeplex.com/

Я не уверен, что степень сжатия. Но DotNetZip выпускает стандартный ZIP-файл.

0

Я должен положить в записке для ZipStorer - это также может распаковать стандартные ZIP файлы [Я не знаю, о ZIP64 или других расширений] :-)

Я использовал его, потому что он мал (~ 6   KB скомпилирован только с извлечением, что делает его намного меньше, чем DotNetZip, который составляет более 150   КБ) и более разрешительный, чем SharpZipLib. Он также имеет очень маленькую, простую и чистую базу кода. Однако, если вам нужны функции других (gzip, bzip2, шифрование, «лучшее» сжатие, самораспаковывающийся и т. Д.), То вы уже знаете, где искать.

Смежные вопросы