2012-02-02 11 views
5

Szukam przykładu, który może mi pomóc zrozumieć, w jaki sposób mogę skompresować pliki w C#, np. Jeśli mam archiwum zip 20MB, chcę podzielić archiwum w 4 części po 5 MB każdy.Pakowanie plików w częściach w C#

Przeszedłem przez Stack overflow question, a potem nawet przejrzałem dokumentację biblioteki DotNetZip, ale nie mogłem znaleźć żadnego takiego przykładu.

Czy ktoś może zasugerować? dzięki,

Czego szukam, gdy mam te 4 pliki, mogę wyodrębnić je do oryginalnych plików. Tak więc każda pojedyncza część może nie być właściwym zamkiem, ale wszystkie 4 części powinny poprawnie wypakować

+4

Co zamierzasz zrobić z pozostałymi 10 MB zip? –

+0

Czy potrzebujesz, aby każdy z fragmentów był prawidłowym plikiem zip, czy też chcesz zmniejszyć rozmiar pliku przed ponownym połączeniem plików? –

+0

właściwy zip czy tylko kompresja? –

Odpowiedz

1

Możesz spróbować ICSharpCode, aby spakować pliki. Po zip pliku można użyć FileStream, aby zapisać plik w małych porcjach. Zrobiłem to w jednym z moich projektów. Jeśli potrzebujesz pomocy, daj mi znać.

+0

, więc jeśli mogę podzielić plik zip, czytając go przez strumień binarny, to mogę użyć dowolnej biblioteki zip ... prawda? na końcu, zostanie podzielony na części za pomocą filestream'a –

+0

Będzie to wyglądało jak "10Mb.txt' =>" 10Mb.zip "(używając biblioteki Zip) => Podziel plik na' 5MbPart1.zip' i '5MbPart2.zip '(Używając kodu niestandardowego, który używa' FileStream'). Wykonaj odwrotność, aby uzyskać oryginalny plik. –

2

Czy chcesz podzielić plik ZIP na wiele plików po spakowaniu, co oznacza, że ​​musisz ponownie połączyć obie części, aby mieć poprawne ZAMEK BŁYSKAWICZNY?

Możesz to zrobić za pomocą 7Zip. Oto instrukcje, jak zrobić to za pomocą interfejsu użytkownika. Zapewniają także an API, aby zautomatyzować zadanie.

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

Można też po prostu czytać plik jako dane binarne, a następnie zapisać go do oddzielnych plików za pomocą własnego konwencję np my.zip.part1of3, my.zip.part2of3, my.zip.part3of3, itp. Gdy wszystko jest gotowe, zrekombinuj części i rozpakuj. Jeśli to zrobisz, osoba ponownie składająca części będzie potrzebować niestandardowego narzędzia od ciebie.

Powiązane problemy