Программно разархивируйте файлы в .netC#

Место общения программистов C#
Ответить
Anonymous
 Программно разархивируйте файлы в .net

Сообщение Anonymous »

Я пытаюсь программно разархивировать заархивированный файл.

Я пробовал использовать класс System.IO.Compression.GZipStream в .NET, но когда мое приложение запускается (фактически модульный тест), я получаю это исключение:


System.IO.InvalidDataException: магическое число в заголовке GZip не правильно. Убедитесь, что вы передаете поток GZip.


Теперь я понимаю, что файл .zip — это не одно и то же. как файл .gz, и этот GZip — это не то же самое, что Zip.

Однако, поскольку я могу извлечь файл, вручную дважды щелкнув заархивированный файл, а затем нажав кнопку «Извлечь все файлы», я думаю, что должно быть способ сделать это и в коде.

Поэтому я попытался использовать Process.Start() с путем к заархивированному файлу в качестве входных данных. Это заставляет мое приложение открывать окно, показывающее содержимое заархивированного файла. Это все нормально, но приложение будет установлено на сервер, где нет никого, кто мог бы нажать кнопку «Извлечь все файлы».

Итак, как мне заставить мое приложение извлекать файлы в заархивированных файлах?

Или есть другой способ сделать это? Я предпочитаю делать это в коде, не загружая сторонние библиотеки или приложения; отделу безопасности это не особо нравится...

Подробнее здесь: https://stackoverflow.com/questions/836 ... lly-in-net
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»