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
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.