IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Archive creee avec gzipstream est invalide


Sujet :

VB.NET

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2007
    Messages : 93
    Points : 73
    Points
    73
    Par défaut Archive creee avec gzipstream est invalide
    Bonjour forum,

    j'essaie de trouver une methode qui me permettrait de compresser un fichier en .zip tout en utilisant gzipstream.
    voici le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
     
    Dim bufferWrite() As Byte
            Dim fsSource As FileStream
            Dim gzCompressed As GZipStream
            Dim fsDest As FileStream
     
     
            ' open file from user
     
            If (OpenFileDialog1.ShowDialog() = DialogResult.OK) Then
     
                fsSource = OpenFileDialog1.OpenFile
     
            End If
     
     
            ' If the user has selected a path where to put the compressed file
     
            If (SaveFileDialog1.ShowDialog() = DialogResult.OK) Then
     
     
                ' Set the buffer size to the size of the file
     
                ReDim bufferWrite(fsSource.Length)
     
                ' Read the data from the stream into the buffer
     
                fsSource.Read(bufferWrite, 0, bufferWrite.Length)
     
                ' Open the FileStream to write to
     
                fsDest = New FileStream(SaveFileDialog1.FileName, FileMode.OpenOrCreate, FileAccess.Write)
     
     
                ' Will hold the compressed stream created from the destination stream
     
                gzCompressed = New GZipStream(fsDest, CompressionMode.Compress, True)
     
     
                ' Write the compressed stream from the bytes array to a file
     
                gzCompressed.Write(bufferWrite, 0, bufferWrite.Length)
     
     
                ' Close the streams
     
                fsSource.Close()
     
                gzCompressed.Close()
     
                fsDest.Close()
     
     
            End If
    le code me semble correct et le fichier est bien creer pourtant lorsque j'essaie d'ouvrir l'archive, j'ai un message d'erreur m'indiquant que l'archive est mauvaise.

    je suis sous .NET 2.0 et je ne peux pas utiliser de librairie autre que celles fournies.

    merci

  2. #2
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Toi tu confonds algorithme de compression avec format de fichier. La #ziplib par exemple propose à la fois les algos et les formats.
    Pour faire cours l'algo c'est comment tu compresses et le format c'est la manière dont tu écris les données compressées dans le fichier. Le .NET Framework ne propose que les algos pour le reste tu sera obligé de regarder ailleurs (ou alors si tu es vraiment motivé, le faire toi même avec la spécification du format gzip).

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2007
    Messages : 93
    Points : 73
    Points
    73
    Par défaut
    Ah ok,

    je te remercie pour cette reponse. Je vais essayer de convaincre mon boss d'utliser une librairie externe.

    merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2.0] Pourquoi manque-t-il le dernier byte avec GZipStream ?
    Par tooff dans le forum Framework .NET
    Réponses: 5
    Dernier message: 08/09/2006, 15h07
  2. [C#] Compresser plusieurs fichiers avec GZipStream, help
    Par TheParadoX dans le forum Windows Forms
    Réponses: 3
    Dernier message: 28/08/2006, 10h19
  3. Ouvrir les archive zip avec l'explorateur windows
    Par koKoTis dans le forum Windows XP
    Réponses: 2
    Dernier message: 20/08/2006, 23h17
  4. count() avec prédicat : est-ce possible ?
    Par TOM-Z dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 06/03/2006, 14h14
  5. Problémé avec LIKE est %
    Par lassmust dans le forum Décisions SGBD
    Réponses: 7
    Dernier message: 03/10/2005, 17h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo