Les Snippets

Connexion

Compression / Decompression GZip

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 01/09/2006 19:45:10 et initié par MorpionMx [Liste]
Date de mise à jour : 19/09/2006 11:00:31
Vue : 11935
Catégorie(s) : Compression & Split, Fichier / Disque
Langages dispo pour ce code :
- C# 2.x
- Java
- VB 2005
- Voir tous les langages pour ce code snippet



Langage : VB 2005
Date ajout : 16/03/2007
Posté par hvb [Liste]

Imports System.IO
Imports System.IO.Compression

Public Class HbGzip

    Public Shared Function Compress(ByVal cheminSource As String, ByVal cheminCible As String) As String
        Try
            Dim hbread As New BinaryReader(File.OpenRead(cheminSource))
            Dim F_array(hbread.BaseStream.Length) As Byte
            hbread.BaseStream.Seek(0, SeekOrigin.Begin)
            hbread.BaseStream.Read(F_array, 0, F_array.Length)
            hbread.BaseStream.Flush()
            hbread.Close()
            Dim tmpstream As FileStream = New FileStream(cheminCible, FileMode.OpenOrCreate)
            Dim gzipper As GZipStream = New GZipStream(tmpstream, CompressionMode.Compress)
            gzipper.Write(F_array, 0, F_array.Length)
            gzipper.Flush()
            gzipper.Close()
            Return "compression effectuée avec succés"
        Catch ex As Exception
            Return ex.ToString
        End Try
    End Function

    Public Shared Function Decompress(ByVal cheminSource As String, ByVal cheminCible As String) As String
        Try
            Dim bufferLen As Integer = 1024
            Dim hbread As New BinaryReader(File.OpenRead(cheminSource))
            Dim gzipper As GZipStream = New GZipStream(hbread.BaseStream, CompressionMode.Decompress)
            Dim hbwrite As New BinaryWriter(File.OpenWrite(cheminCible))
            Dim F_array(bufferLen) As Byte
            Dim readlen As Integer
            Dim flag As Boolean = True
            Do
                readlen = gzipper.Read(F_array, 0, F_array.Length)
                If readlen > 0 Then
                    flag = True
                    If readlen = (bufferLen + 1) Then hbwrite.Write(F_array, 0, readlen) Else hbwrite.Write(F_array, 0, readlen - 1)
                Else
                    flag = False
                End If
            Loop While (flag)
            hbwrite.Close()
            gzipper.Close()
            Return "decompression effectuée avec succés"
        Catch ex As Exception
            Return ex.ToString
        End Try
    End Function
End Class



Snippets en rapport avec : Compression, Decompression, Gzip, Gzipstream, Filestream



Codes sources en rapport avec : Compression, Decompression, Gzip, Gzipstream, Filestream

{Visual Basic, VB6, VB.NET, VB 2005} [.NET2] COMPRESSION/DÉCOMPRESSION GZIP DE FICHIER GRÂCE À IO.COMPRESSION
Un tout petit sample de la classe incroyablement pratique Io.Compression, permettant de compresser e...

{C / C++ / C++.NET} WIN32CAB .CAB
Compresser decompresser des fichiers en .cab -password encrypter le fichier -Split fichier a la ...

{Visual Basic, VB6, VB.NET, VB 2005} NET-2 COMPRESSION DE FICHIER EN ZIP AVEC L'AIDE DE VJ# ET EN GZIP AVEC L'AJOUT DU NOM DE FICHIER
L'idée originale est venue d'un besoin de regrouper un paquet de fichiers zip (des polices de caract...

{C# / C#.NET} COMPRESSION / DECOMPRESSION A PARTIR DU SDK LZMA DE 7ZIP ( MULTI FICHIER )
Comme le dit le titre, cette librairie / class, je ne sais pas comment vous appelez ça ( ça ne fait ...

{C# / C#.NET} COMPRESSION GZIP AVEC RÉCUPERATION DU NOM DE FICHIER
Montre comment compresser un fichier avec l'algorythme "gzip" est de recuperer le nom du fichier lor...

{Delphi} HUFFMAN ADAPTATIF
Exemple de Compression / Decompression avec l'algorythme Huffman Adaptatif en Trubo Pascal......

{Delphi} HUFFMAN
Exemple de Compression / Decompression avec l'algorythme Huffman en Trubo Pascal......

{Delphi} LEMPEL-ZIV-WELCH
Exemple de Compression / Decompression avec l'algorythme Lempel-Ziv-Welch (LZW) en Trubo Pascal......

{Javascript / DHTML} COMPRESSION RLE (PART II)
Ben voilà, c'est la suite de ma dernière source, sur la compression, là ca utilise la méthode de com...

{Javascript / DHTML} COMPRESSION DE CHAINE
Voilà, c'est un petit script de compression, pas très au point mais c'est fait pour être amélioré. ...