Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> software >> Compressione dei dati >> .

Come Zip file utilizzando SharpZipLib

SharpZipLib è una libreria di compressione di file per C # e altri linguaggi di programmazione NET , che fornisce funzioni per la gestione ZIP , GZIP , BZIP2 e TAR . Formati . La biblioteca dispone di un'interfaccia molto semplice , che consente di comprimere un file con poche chiamate di funzione . Dopo aver costruito il resto del programma - supponendo che il vostro progetto è qualcosa di più di un programma di utilità zippare da riga di comando - includere la libreria SharpZipLib e creare una funzione zippare , che possono poi essere chiamato da altri punti del codice . Istruzioni
1

Creare l'intestazione della funzione . Dovrebbe essere qualcosa di simile :

public static void postale ( stringa fileInput , stringa fileOutput ) per

Questo definisce il nome ei parametri della funzione. Supponendo di utilizzare il codice sopra esattamente come scritto , si sarà in grado di chiamare la funzione , la compressione di un file specifico in un ZIP , come questo:

Zip ( " immagine.jpg " , " image.zip " ) ;
2

iniziare il corpo della funzione , che dichiara le variabili necessarie e le istanze degli oggetti . Dovrebbe essere qualcosa di simile :

{

fileStreamIn FileStream = new FileStream

( fileInput , FileMode.Open , FileAccess.Read ) ;

FileStream fileStreamOut = new FileStream

( fileOutput , FileMode.Create , FileAccess.Write ) ;

ZipOutputStream zipStreamOut = new ZipOutputStream ( fileStreamOut ) ;

byte [ ] buffer = new byte ;

ZipEntry entry = new ZipEntry ( Path.GetFileName ( fileInput ) ) ;

zipOutStream.PutNextEntry ( voce);

dimensioni int ;

crea due FileStreams per il file di input e di output , e poi un ZipOutputStream basato sulla FileStream output appena dichiarato . Questo è seguito da alcune variabili per la gestione numeri nella carne della funzione fino a venire avanti , e un paio per memorizzare il percorso del file di output .
3

Inserire la carne della funzione - - un " do ... while" ciclo che legge i dati e lo comprime :

fare

{
dimensione

= fileStreamIn.Read (buffer , 0 , tampone . lunghezza) ;

zipStreamOut.Write (buffer , 0 , size) ;

} while ( size > 0 ) ;

Questo farà un passo attraverso il file , una byte alla volta , alimentando i dati in funzione " Write" di zipStreamOut . Il processo viene ripetuto fino a quando viene raggiunta la fine del file e il zippare è completata .
4

richiudere la cerniera e FileStreams , e terminare la funzione , mettere in ordine tutto funzione è ora completa e può essere utilizzato nel programma , se lo desideri .

 

software © www.354353.com