hur zip filer med sharpziplib

SharpZipLib är en fil komprimering bibliotek för C # och andra . NET programmeringsspråk , vilket ger funktioner för hantering av ZIP , GZIP , TAR och BZIP2 format . Biblioteket har ett mycket enkelt gränssnitt som låter dig zip en fil med endast ett fåtal funktionsanrop . Efter att konstruera resten av ert program-under förutsättning att projektet är något annat än ett kommandoradsverktyg zippa verktyget-innehålla SharpZipLib biblioteket och skapa en zippa funktion , som sedan kan anropas från andra håll i koden .
1 .
Skapa funktionen rubrik. Det borde se ut ungefär så här :

public void Zip ( sträng indatafil , sträng Outputfile )

Detta definierar funktionens namn och parametrar. Förutsatt att du använder ovanstående kod exakt som det står skrivet , kommer du att kunna anropa funktionen , komprimera en viss fil till en ZIP , så här :

Zip ( ” bild . jpg ” , ” image. zip ” ) .
2
Börja kroppen av funktionen , att förklara de nödvändiga variabler och instanser objekt . Det borde se ut ungefär så här :

{

FileStream fileStreamIn=new FileStream

( indatafil , fileMode . Öppna , FileAccess. Read ) ,

FileStream fileStreamOut=new FileStream

( utdatafil , FileMode. Create , FileAccess. Write ) ,

ZipOutputStream zipStreamOut=nya ZipOutputStream ( fileStreamOut ) ,

byte [ ] buffer=new byte ;

ZipEntry entry=ny ZipEntry ( Path. GetFileName ( indatafilen )) ;

zipOutStream. PutNextEntry ( post ) ;

int storlek ;

Detta skapar två FileStreams för in-och utgående filer och sedan en ZipOutputStream baserad på utgången FileStream du just sagt . Detta följs av några variabler för hantering nummer i kött av funktionen kommer härnäst , och ett par för att lagra utdatafilen väg .
3 .
Ange kött av funktionen-En ”do . . . medan ” loop som läser i data och komprimerar det :

göra

{

size=fileStreamIn. Read ( buffert , 0 , buffer. Length ) ,

zipStreamOut. Write ( buffert , 0 , storlek ) ;

} while ( storlek > 0 ) ;

Detta kommer att gå igenom handlingarna , ett byte i taget , mata data till zipStreamOut &#039s ”Write ” funktionen . Processen kommer att upprepa till slutet av filen har nåtts och zippa är klar
4
stänga dragkedjan och fileStreams och avsluta funktionen , städa upp allt .

zipStreamOut. Close () ;

fileStreamOut. Close () ;

fileStreamIn. Close () ;

}

Funktionen är nu klar och kan användas i ditt program som önskas.

Visited 1 times, 1 visit(s) today

コメント

タイトルとURLをコピーしました