Come Zip Cartelle & sottocartelle a .Net

November 21

file zippare in .NET C # è usato per confezionare un gruppo di file e inviarli in una e-mail. Inoltre rende il file disponibile per amministratori di visualizzare. Creazione di file zip viene eseguita mediante la # librerie .NET J. Queste librerie sono cloni del compilatore Java popolare. Una volta che le librerie sono importati, poche righe di codice cerniere cartelle e file in un unico pacchetto zip.

istruzione

1 Importare le librerie Java. Ci sono tre librerie che devono essere dichiarate all'inizio del file di codice. Di seguito è riportato l'elenco con la sintassi appropriata:
utilizzando java.util
ANDARE
utilizzando java.util.zip
ANDARE
utilizzando java.io;

2 Istanziare le classi di file zip. Qui di seguito, due variabili sono assegnate. ZipFile viene utilizzato per creare il file zip utilizzato per il confezionamento. ZipStream viene utilizzata per aggiungere i file al pacchetto.
FileOutputStream zipfile = new FileOutputStream (\ "C: \\ myZipFile.zip \")
ANDARE
ZipOutputStream zipStream = new ZipOutputStream (file zip);

3 Assegnare una directory a una variabile e aggiungerlo alle voci zip. Il codice seguente afferra un file all'interno di una directory e lo aggiunge al file zip. Il file non viene scritto nel pacchetto zip a questo punto. posizionamento effettivo del file avviene nel passaggio seguente:
ZipEntry myZipPlacement = new ZipEntry (Path.GetFileName (\ "C: \\ mydirectory \\ myFile.txt \"))
ANDARE
zipStream.putNextEntry (myZipPlacement)
ANDARE
myFillFile = new FileInputStream (\ "C: \\ mydirectory \\ myFile.txt \");

4 Scrivere il file per il pacchetto zip. Il file viene scritto di byte per byte utilizzando una variabile buffer di file. Il codice seguente scrive il file che è stato installato come una voce nella Fase 3:
sbyte [] = new mybuffer sbyte [1024]
ANDARE
int i = 0
ANDARE

while ((i=

myFillFile.read (mybuffer))> = 0)
{
zipStream.write (mybuffer, 0, i)

ANDARE

}

5 Chiudere il flusso. Questo codice è necessario per risorsa di memoria libera sul server e rilasciare il \ "leggere \" blocco dal file zip:
zipStream.closeEntry ()
ANDARE
myFillFile.close ()
ANDARE
myZipPlacement.close ()
ANDARE
zipFile.close ();