Zipper avec sharpziplib

Contenu du snippet

Voilà un code qui permet de zipper des fichier aprés avoir référencé la dll de SharpZipLib ( ICSharpCode.SharpZipLib.dll )telechargeable à http://www.icsharpcode.net/OpenSource/SharpZipLib/Default.aspx .
Je n'ai rien trouvé de comparable sur vbfrance alors j'ajoute ma contribution.
Le code n'est pas commenté, je viens juste de le faire ! c'est court mais ça fonctionne...

Source / Exemple :


Imports ICSharpCode.SharpZipLib.Zip
Imports System.io

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As 
System.EventArgs) Handles Button1.Click
        Dim MyZipEntry As ZipEntry
        Dim MyZipOutputStream As ZipOutputStream
        Dim MyFileStream As FileStream
        Dim buffer(4096) As Byte
        Dim count As Integer
        Dim i As Integer
        Dim Fichiers(2) As String

        Fichiers(0) = "c:\test.txt"
        Fichiers(1) = "c:\test2.txt"
        Fichiers(2) = "c:\test3.txt"

        MyZipOutputStream = New 
ZipOutputStream((File.Create("c:\test.zip")))

        MyZipOutputStream.SetLevel(5) ' Niveau de compression

        For i = 0 To UBound(Fichiers)
            If File.Exists(Fichiers(i)) Then
                ' Ouverture en lecture du fichier à zipper 
                MyFileStream = File.OpenRead(Fichiers(i))

                ' Enregistrement dans le zip de la référence du fichier 
d'entrée
                MyZipEntry = New 
ZipEntry(Path.GetFileName(Fichiers(i)))
                MyZipOutputStream.PutNextEntry(MyZipEntry)

                ' Lecture et zip du fichier par blocs de 4096 bytes
                count = MyFileStream.Read(buffer, 0, 4096)
                While (count > 0)
                    MyZipOutputStream.Write(buffer, 0, count)
                    count = MyFileStream.Read(buffer, 0, 4096)
                End While
            End If
        Next i

        MyFileStream.Flush()
        MyFileStream.Close()
        MyZipOutputStream.Close()
    End Sub

Conclusion :


ATTENTION : il faut que les fichiers test.txt existent... enfin ça on peut ajouter un test pour savoir...
Sinon je me suis inspiré de l'aide fournie avec la librairie téléchargée. ( exemple en C# )

... et juste pour dire que c'est la 1ere source que je met... j'espére qu'elle servira...

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.