Problème pour créer une archive GZIP et conserver les extensions
Bonjour a tou(te)s!
Je cherchais une fonction pour créer une archive GZIP contenant un fichier .bak. Je suis donc allez dans la faq developpez.com où se trouve une méthode qui utilise la classe GZipStream.
Voici le code, pour aller plus vite:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| Public Shared Function compresserFichier(ByVal cheminSource As String, ByVal cheminDestination As String) As Boolean
' cheminSource : chemin complet du fichier à compresser
' cheminDestination : chemin complet du fichier compressé à créer
Try
' Le fichier est placé dans le FileStream
Dim monFileStream As New FileStream(cheminSource, FileMode.Open)
Dim monBuffer(monFileStream.Length) As Byte
' Lecture de l'intégralité du FileStream
monFileStream.Read(monBuffer, 0, CInt(monFileStream.Length))
' Fermeture du FileStream
monFileStream.Close()
' Création du fichier qui va contenir le fichier compressé
monFileStream = New FileStream(cheminDestination, FileMode.Create)
' Compression des données
Dim monGZipStream As New GZipStream(monFileStream, CompressionMode.Compress, False)
' Ecriture des données compressées dans le fichier de destination
monGZipStream.Write(monBuffer, 0, monBuffer.Length)
' Fermeture du GZipStream
monGZipStream.Close()
Return True
Catch ex As Exception
MsgBox(ex.Message)
Return False
End Try
End Function |
Et en fait tout semble être très bien, MAIS mon fichier à l'intérieur de l'archive n'a plus d'extension 8O .
COmme je trouve pas comment corriger cette erreur, et que sur les forums cela ne semble pas avoir posé problème à ceux qui utilisent cette méthode, comment faites vous?