У меня исправление. Мне нужно загрузить zip файл из сетевого расположения, а затем распаковать его на локальном компьютере и использовать файлы. Единственное ограничение заключается в том, что я не могу использовать DLL третьей стороны.
Как извлечь zip файл с помощью dotnet framework 4.0 без использования сторонних библиотек dll
Ответ 1
В .NET Framework 4.5 теперь существует метод System.IO.Compression.ZipFile.ExtractToDirectory(String, String)
.
Ответ 2
Я не уверен, что он все еще доступен в VS2010, но в ранних версиях J # был включен в VS и J # включает класс java.util.zip
в vjslib.dll, и поскольку он является частью VS, это не сторонний DLL, чтобы вы могли сделать это таким образом.
Вот статья CodeProject, в которой показано, как это сделать: Почтовый и Разархивировать из программы С# с использованием J # runtime
Ответ 3
Нет никакого "хорошего" способа сделать это. Вы, очевидно, могли бы реализовать алгоритм ZIP самостоятельно, используя общедоступную информацию о структуре и классах файлов ZIP, таких как DeflateStream (хотя даже это может не работать, если оно не сжимается с использованием алгоритма DEFLATE). Существует некоторая информация о возможных альтернативах в этом сообщении в блоге, но короткая версия заключается в том, что вам придется либо использовать стороннюю библиотеку, либо перепишите его самостоятельно.
Если это будет ситуация, когда вы сможете выпустить исходный код с помощью GPL'd, вы можете скопировать-вставить код из проекта, например SharpZipLib в свой собственный, тем самым уклоняясь от необходимости использовать DLL. Кроме того, почему вы не можете использовать сторонние DLL?
Ответ 4
Сама среда .NET не поддерживает (в настоящее время) официальную поддержку ZIP файлов. Есть несколько высококачественных сторонних бесплатных библиотек, и J # runtime поддерживает это, как отмечали другие.
Я рекомендую стороннее решение, но если вы абсолютно не можете этого сделать, тогда есть еще один трюк: ZipPackage, который является частью WPF. Он сортирует файлы ZIP (дополненные дополнительными метаданными) и работает достаточно хорошо для чтения большинства ZIP файлов.
Ответ 5
Быстрый поиск в Google превратил это. Справочник MSDN класса GZipStream
Ответ 6
GZipStream чаще всего используется для сжатия данных WCF. Не используйте это здесь.
Вы можете попробовать эту ZIP-библиотеку для сжатия в файлы: