Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

vb.net 2005 System.IO.Compression

2 réponses
Avatar
lavache
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"


Catch ex As Exception


MsgBox(ex.Message)

End Try

2 réponses

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

quelqu'un a une idéé?????



Bonjour,

Le groupe adapté est est le suivant:

microsoft.public.fr.dotnet.vb

Cordialement;

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;
Avatar
lavache
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.

quelqu'un a une idéé?????



Bonjour,

Le groupe adapté est est le suivant:

microsoft.public.fr.dotnet.vb

Cordialement;

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;