SharpZipLib ist eine Datei Kompressions-Bibliothek für C # und andere NET-Programmiersprachen und bietet Funktionen für den Umgang mit ZIP, GZIP , TAR und BZIP2 Formate . . Die Bibliothek verfügt über eine sehr einfache Schnittstelle , so dass Sie eine Datei mit nur wenigen Funktionsaufrufen ZIP. Nach dem Bau der Rest des Programms - unter der Annahme, dass das Projekt etwas mehr als ein Kommandozeilen- Utility Zippen ist - gehören die SharpZipLib Bibliothek und ein Komprimieren -Funktion, die dann von anderer Stelle im Code aufgerufen werden kann. Anleitung
1
Erstellen der Funktion header . Es sollte in etwa so aussehen :
public static void Zip (string inputFile , string outputFile )
Diese definiert den Namen der Funktion und Parameter . Angenommen, Sie verwenden den obigen Code genau wie geschrieben, sind Sie in der Lage, die Funktion aufrufen, Komprimieren eine bestimmte Datei in einem ZIP, wie folgt aus:
Zip ( " image.jpg ", " image.zip " ) ;
2
Beginnen Sie den Rumpf der Funktion , in der sie die notwendigen Variablen und Objekt-Instanzen . Es sollte in etwa so aussehen :
{
FileStream fileStreamIn = new FileStream
( inputFile , FileMode.Open , FileAccess.Read );
FileStream fileStreamOut = new FileStream
( outputFile , FileMode.Create , FileAccess.Write );
ZipOutputStream zipStreamOut = new ZipOutputStream ( fileStreamOut );
byte [ ] buffer = new byte ;
ZipEntry Eintrag = new ZipEntry ( Path.GetFileName ( inputFile ) );
zipOutStream.PutNextEntry ( Eintrag );
int size ;
erstellt zwei FileStreams für die Eingabe und Ausgabe-Dateien , und dann eine ZipOutputStream am Ausgang FileStream Sie gerade erklärt, basiert. Dies wird durch ein paar Variablen für den Umgang mit Zahlen in das Fleisch der Funktion als nächstes kommt , und ein paar für die Speicherung der Ausgabedatei Weg gefolgt .
3
Geben Sie das Fleisch der Funktion - -a " do ... while " -Schleife, die in den Daten liest und komprimiert es :
tun
{
size = fileStreamIn.Read (buffer, 0 , Puffer . Length) ;
zipStreamOut.Write (buffer, 0 , Größe) ;
} while ( size> 0);
Dies wird durch die Datei Schritt , eine Byte zu einem Zeitpunkt , Fütterung die Daten an zipStreamOut die "Write" -Funktion. Der Prozess wird wiederholt, bis das Ende der Datei erreicht ist und das Zippen abgeschlossen ist.
4
Schließen Sie den Reißverschluss und FileStreams , und beenden Sie die Funktion , Aufräumen alles Funktion ist nun abgeschlossen und können in Ihrem Programm verwendet werden, wie gewünscht .