Как сжать или сжать всю папку, используя GZipStream - PullRequest
2 голосов
/ 22 ноября 2010

Есть идеи, как я могу это сделать? Я могу сжать один файл.

Ответы [ 2 ]

2 голосов
/ 22 ноября 2010

Вы не можете GZip напрямую всю папку, так как GZip работает с одним потоком данных. Сначала вам нужно превратить папку в такой поток.

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

1 голос
/ 22 ноября 2010

GZip не поддерживает несколько файлов.Их нужно сначала объединить в другой контейнер, например, Tar.Если вам нужна полная поддержка Zip для C #, используйте эту библиотеку:

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

...