SharpZipLib is een bestand compressie bibliotheek voor C # en andere . NET programmeertalen , het verstrekken van functies voor de afhandeling van ZIP , GZIP , TAR en BZIP2 formaten . De bibliotheek beschikt over een zeer eenvoudige interface , zodat u een bestand zippen met slechts een paar functie-aanroepen . Na de bouw van de rest van uw programma - ervan uitgaande dat je project is iets meer dan een command-line zippen nut - onder de SharpZipLib bibliotheek en maak een zippen functie , die vervolgens kunnen worden opgeroepen vanuit elders in de code . Instructies 1 Maak header van de functie . Het moet er ongeveer zo uitzien : openbare statische nietige Zip (string invoerbestand , touwtje outputfile ) op Twitter Dit definieert naam en parameters van de functies . Ervan uitgaande dat u de bovenstaande code in exact zoals geschreven gebruiken , zult u in staat zijn om de functie aan te roepen , het comprimeren van een specifiek bestand in een ZIP , zoals dit: Zip ( " image.jpg " , " image.zip " ) ; kopen van 2 Begin het lichaam van de functie , waarbij de nodige variabelen en objectexemplaren . Het moet er ongeveer zo uitzien : { FileStream fileStreamIn = new FileStream ( invoerbestand , FileMode.Open , FileAccess.Read ) ; FileStream fileStreamOut = new FileStream ( outputfile , FileMode.Create , FileAccess.Write ) ; ZipOutputStream zipStreamOut = new ZipOutputStream ( fileStreamOut ) ; byte [ ] buffer = new byte ; ZipEntry binnenkomst = new ZipEntry ( Path.GetFileName ( invoerbestand ) ) ; zipOutStream.PutNextEntry ( invoer ) ; int size ; maakt twee FileStreams voor de input en output -bestanden , en vervolgens een ZipOutputStream op basis van de output FileStream u zojuist verklaard . Dit wordt gevolgd door een aantal variabelen voor de behandeling van getallen in het vlees van de functie coming up next , en een paar voor het opslaan pad de output bestand . 3 Voer het vlees van de functie - - een "doe ... terwijl" lus die leest in de gegevens en comprimeert het : doen { size = fileStreamIn.Read ( buffer , 0 , buffer . Length ) ; zipStreamOut.Write ( buffer , 0 , grootte) ; } while ( grootte> 0 ) ; Dit zal stap voor stap door het bestand , een byte tegelijk toevoeren van de data naar de functie " Write" zipStreamOut 's . Het proces wordt herhaald tot het einde van het bestand is bereikt en het zippen is voltooid . 4 Sluit de rits en fileStreams , en uiteindelijk de functie , opruimen alles functie is nu compleet en kan gebruikt worden in uw programma naar wens .
|