Как извлечь zip-файл с помощью dotnet framework 4.0 без использования dll сторонних разработчиков [закрыто]

15
задан Patrick McDonald 11 July 2012 в 22:12
поделиться

5 ответов

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

Если это ситуация, когда вы можете выпустить исходный код под GPL, вы можете скопировать и вставить код из проекта, такого как SharpZipLib , в свой собственный, тем самым обойдя требование использовать DLL. Но почему вы не можете использовать сторонние библиотеки DLL?

3
ответ дан 1 December 2019 в 04:08
поделиться

Сама платформа .NET (в настоящее время) не имеет официальной поддержки файлов ZIP. Доступна пара высококачественных сторонних бесплатных библиотек, и среда выполнения J # поддерживает их, как отмечали другие.

Я рекомендую стороннее решение, но если вы абсолютно не можете этого сделать, есть еще одна хитрость: ZipPackage , который является частью WPF. Он поддерживает ZIP-файлы (с добавлением дополнительных метаданных) и достаточно хорошо работает для чтения большинства ZIP-файлов.

2
ответ дан 1 December 2019 в 04:08
поделиться

Я не уверен, что это все еще доступно в VS2010, но в более ранних версиях J# был включен в VS, и J# включает java.util.zip класс в vjslib.dll, и поскольку он является частью VS, это не сторонняя DLL, поэтому вы можете сделать это таким образом.

Вот статья CodeProject, показывающая, как это сделать: Zip и Unzip из программы C# с помощью J# runtime

4
ответ дан 1 December 2019 в 04:08
поделиться

Быстрый поиск в Google показал это. Ссылка MSDN класса GZipStream

-1
ответ дан 1 December 2019 в 04:08
поделиться

GZipStream чаще всего используется для сжатия данных WCF. Не используйте это здесь.

Вы можете попробовать эту ZIP-библиотеку для сжатия в файлы:

http://www.icsharpcode.net/opensource/sharpziplib/

0
ответ дан 1 December 2019 в 04:08
поделиться