Архивирование файлов по частям в C # - PullRequest
5 голосов
/ 02 февраля 2012

Я ищу пример, который может помочь мне понять, как я могу сжать файлы в C # по частям, т.е. если у меня есть 20 МБ почтовый архив, я хочу разделить архив на 4 части по 5 МБ каждая,

Я прошел через Вопрос переполнения стека , а затем я даже просмотрел документацию библиотеки DotNetZip , но я не смог найти ни одного такого примера.

Может кто-нибудь предложить?спасибо,

Что я ищу, когда у меня есть эти 4 файла, я могу извлечь их в исходные файлы.Таким образом, каждая отдельная часть может быть неправильной молнией, но все 4 части должны быть правильно извлечены

Ответы [ 2 ]

2 голосов
/ 02 февраля 2012

Вы имеете в виду разделить ZIP-файл на несколько файлов после того, как он был заархивирован, то есть вы должны повторно объединить обе части, чтобы получить действительный ZIP-файл?

Вы можете сделать это с 7Zip. Вот инструкции, чтобы сделать это с их пользовательским интерфейсом. Они также предоставляют API для автоматизации задачи.

http://www.linglom.com/2008/10/12/how-to-split-a-large-file-using-7-zip/

Вы также можете просто прочитать файл как двоичные данные, а затем записать его в отдельные файлы, используя свое собственное соглашение, например, my.zip.part1of3, my.zip.part2of3, my.zip.part3of3 и т. д. Когда все будет готово, рекомбинируйте части и разархивируйте. Если вы сделаете это, человеку, который собирает детали, понадобится специальная утилита от вас.

1 голос
/ 02 февраля 2012

Вы можете попробовать ICSharpCode , чтобы сжать файлы. После того, как файл будет zip, вы можете использовать FileStream, чтобы сохранить файл небольшими порциями. Я сделал это в одном из моих проектов. Если вам нужна помощь, дайте мне знать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...