Распакуйте файл 4 ГБ в c # - PullRequest
       97

Распакуйте файл 4 ГБ в c #

3 голосов
/ 09 февраля 2011

Я использую sharp lib для zip и unzip.Он отлично работает до 4 ГБ файлов, поэтому ищите какое-то решение .net Framework.Я попробовал Gzip-сжатие в dotnet.Это также не может распаковать файлы 4 ГБ.Знаете ли вы какую-либо другую zip-библиотеку, которая обрабатывает большие файлы.

Спасибо

Ответы [ 3 ]

7 голосов
/ 09 февраля 2011

DotNetZip будет правильно обрабатывать архивы ZIP64 (> 4,2 ГБ) в 100% управляемом коде. Он также (из моего тестирования) имеет значительно лучший набор функций и выполняет лучшую работу, чем библиотеки фреймворков для сжатия (то есть: одинаковый или лучший результат при гораздо меньших файлах - часто примерно в 1/3 размера процедур сжатия фреймворка) .

5 голосов
/ 09 февраля 2011

В .NET 4.0 было снято ограничение 4 Гб, поэтому вы можете использовать классы в System.IO.Compression пространстве имен.

Алгоритмы сжатия в System.IO.Compression были улучшено в .NET 4. DeflateStream и GZipStream больше не раздувает уже сжатые данные. Это означает, что в во многих случаях вы увидите лучше коэффициенты сжатия при использовании этих потоки в .NET 4. Мы также удалили ограничение размера 4 ГБ, так что теперь вы можете сжатие потоков длиной более 4 ГБ.

От: Что нового в BCL

Если вы не можете нацелиться на .NET 4.0 framework, то, боюсь, я не смогу вам помочь.

1 голос
/ 09 февраля 2011

Если внешний вид не является проблемой, вы можете использовать Shell FolderItems (shell32.dll), единственными недостатками являются то, что его немного сложно использовать, и вы получаете диалоговое окно прогресса Windows, а не процедуру обратного вызова.

...