Bonjour,
Je cherche a décompresser un fichier zip avec VB.net 2005
J'ai trouver plusieur code sur internet et il me donne toujour la meme
erreur
Le nombre magique dans l'en-tête GZip n'est pas correct. Assurez-vous que
votre passage s'opère dans un flux GZip.
quelqu'un a une idéé?????
Merci
sebas
Imports System.IO
Imports System.IO.Compression
Dim cheminSource As String = "c:\cmatfile.zip"
Dim cheminDestination As String = "c:\"
Try
'Lecture du fichier compresse
Dim monFileStream As New FileStream(cheminSource, FileMode.Open)
' Données du fichier placées dans un GZipStream
Dim monGzipStream As New GZipStream(monFileStream,
CompressionMode.Decompress)
' Tableau qui va contenir la taille du fichier
Dim tailleOctets(3) As Byte
' Positionnement dans le Stream pour récupérer la taille
Dim position As Integer = CInt(monFileStream.Length - 4)
monFileStream.Position = position
' Récupération de la taille du fichier
monFileStream.Read(tailleOctets, 0, 4)
' Repositionnement en début du Stream
monFileStream.Position = 0
' Conversion de la taille du fichier en entier
Dim tailleFichier As Integer =
BitConverter.ToInt32(tailleOctets, 0)
' Dimesionnement du buffer
Dim buffer(tailleFichier + 100) As Byte
' Offset qui permettra de se repérer dans le Stream
Dim monOffset As Integer = 0
While (True)
' Les données sont décompressées et placées dans le buffer
'le bug ###########################
Dim decompressionOctets As Integer =
monGzipStream.Read(buffer, monOffset, 100) <-----bug ici
' Tant qu'il reste des données on continue
If (decompressionOctets = 0) Then
Exit While
End If
' On icrémente l'offset pour ne pas repartir de 0 à chaque
fois...
monOffset += decompressionOctets
End While
' Création du fichier décompressé
monFileStream = New FileStream(cheminDestination,
FileMode.Create)
' Ecriture des données décomrpessées dans le fichier
monFileStream.Write(buffer, 0, tailleFichier - 1)
' Efface les données en mémoire tampon
monFileStream.Flush()
' Fermeture des Streams
monFileStream.Close()
monGzipStream.Close()
Lbltest.Text += "fin"
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jean-marc
lavache wrote:
Bonjour, Je cherche a décompresser un fichier zip avec VB.net 2005
J'ai trouver plusieur code sur internet et il me donne toujour la meme erreur Le nombre magique dans l'en-tête GZip n'est pas correct. Assurez-vous que votre passage s'opère dans un flux GZip.
Bonjour,
Je cherche a décompresser un fichier zip avec VB.net 2005
J'ai trouver plusieur code sur internet et il me donne toujour la meme
erreur
Le nombre magique dans l'en-tête GZip n'est pas correct. Assurez-vous
que votre passage s'opère dans un flux GZip.
Bonjour, Je cherche a décompresser un fichier zip avec VB.net 2005
J'ai trouver plusieur code sur internet et il me donne toujour la meme erreur Le nombre magique dans l'en-tête GZip n'est pas correct. Assurez-vous que votre passage s'opère dans un flux GZip.
Merci Sébas "Jean-marc" a écrit dans le message de news: 482368ee$0$2949$
lavache wrote:
Bonjour, Je cherche a décompresser un fichier zip avec VB.net 2005
J'ai trouver plusieur code sur internet et il me donne toujour la meme erreur Le nombre magique dans l'en-tête GZip n'est pas correct. Assurez-vous que votre passage s'opère dans un flux GZip.
Merci
Sébas
"Jean-marc" <jm@nowhere.invalid> a écrit dans le message de news:
482368ee$0$2949$ba620e4c@news.skynet.be...
lavache wrote:
Bonjour,
Je cherche a décompresser un fichier zip avec VB.net 2005
J'ai trouver plusieur code sur internet et il me donne toujour la meme
erreur
Le nombre magique dans l'en-tête GZip n'est pas correct. Assurez-vous
que votre passage s'opère dans un flux GZip.
Merci Sébas "Jean-marc" a écrit dans le message de news: 482368ee$0$2949$
lavache wrote:
Bonjour, Je cherche a décompresser un fichier zip avec VB.net 2005
J'ai trouver plusieur code sur internet et il me donne toujour la meme erreur Le nombre magique dans l'en-tête GZip n'est pas correct. Assurez-vous que votre passage s'opère dans un flux GZip.