SharpZipLib est une bibliothèque de compression de fichier pour C # et d'autres langages de programmation NET , offrant des fonctions de traitement des formats ZIP , GZIP , TAR et BZIP2 . . La bibliothèque dispose d' une interface très simple, qui vous permet de zipper un fichier avec seulement quelques appels de fonction. Après la construction du reste de votre programme - en supposant que votre projet est autre chose qu'un utilitaire de passer comme un éclair de ligne de commande - inclure la bibliothèque SharpZipLib et créer une fonction compresser , qui peut ensuite être appelé à partir d' ailleurs dans votre code. Instructions 1 Créer en-tête de la fonction. Il devrait ressembler à ceci : public static void Zip ( chaîne inputFile , chaîne outputFile ) Cela définit le nom et les paramètres de la fonction. En supposant que vous utilisez le code ci-dessus exactement comme écrit , vous pourrez appeler la fonction , la compression d'un fichier spécifique dans un ZIP, comme ceci: Zip ( " image.jpg ", " image.zip " ) ; 2 Début le corps de la fonction , en déclarant les variables nécessaires et les instances d'objets. Il devrait ressembler à ceci : { 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 entrée = new ZipEntry ( Path.GetFileName ( inputFile ) ) ; zipOutStream.PutNextEntry ( entrée ) ; taille de int; crée deux FileStreams pour les fichiers d'entrée et de sortie, et puis un ZipOutputStream basé sur le FileStream de sortie que vous venez de déclarer . Il est suivi par quelques variables pour manipuler numéros dans la viande de la fonction venir jusqu'à la prochaine , et un couple pour stocker le chemin du fichier de sortie . 3 Entrez la viande de la fonction - - un " do ... while " boucle qui lit les données et le comprime : faire { taille = fileStreamIn.Read (buffer , 0, tampon . longueur) ; zipStreamOut.Write (buffer , 0 , taille) ; } while ( taille > 0); fera défiler le fichier, un octet à la fois , nourrir les données à la fonction "Write" de zipStreamOut . Le processus se répète jusqu'à la fin du fichier est atteinte et le passer comme un éclair est terminée. 4 Fermez le zip et FileStreams , et mettre fin à la fonction , ranger tout fonction est maintenant terminée et peut être utilisé dans votre programme comme vous le souhaitez .
|