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 :

Dézipper avec SharpZipLib


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Inscrit en
    Juin 2004
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : France, Nièvre (Bourgogne)

    Informations forums :
    Inscription : Juin 2004
    Messages : 92
    Par défaut Dézipper avec SharpZipLib
    Bonjour à tous

    J'essaie de passer le pas de vb6 à vb.net ( Pas évident )

    J'ai un probleme avec un fichier à dézziper


    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
    Imports ICSharpCode
    Imports ICSharpCode.SharpZipLib
    Imports ICSharpCode.SharpZipLib.Zip
     
    Public Sub ExtractArchive(ByVal zipFilename As String, ByVal ExtractDir As String)
            Dim Redo As Integer = 1
            Dim MyZipInputStream As ZipInputStream
            Dim MyFileStream As FileStream
            MyZipInputStream = New ZipInputStream(New FileStream(zipFilename, FileMode.Open, FileAccess.Read))
            Dim MyZipEntry As ZipEntry = MyZipInputStream.GetNextEntry
            Directory.CreateDirectory(ExtractDir)
            While Not MyZipEntry Is Nothing
                If (MyZipEntry.IsDirectory) Then
                    Directory.CreateDirectory(ExtractDir & "\" & MyZipEntry.Name)
                Else
                    If Not Directory.Exists(ExtractDir & "\" & Path.GetDirectoryName(MyZipEntry.Name)) Then
                        Directory.CreateDirectory(ExtractDir & "\" & Path.GetDirectoryName(MyZipEntry.Name))
                    End If
                    MyFileStream = New FileStream(ExtractDir & "\" & MyZipEntry.Name, FileMode.OpenOrCreate, FileAccess.Write)
                    Dim count As Integer
                    Dim buffer(4096) As Byte
                    count = MyZipInputStream.Read(buffer, 0, 4096)
                    While count > 0
                        MyFileStream.Write(buffer, 0, count)
                        count = MyZipInputStream.Read(buffer, 0, 4096)
                    End While
                    MyFileStream.Close()
                End If
                Try
                    MyZipEntry = MyZipInputStream.GetNextEntry
                Catch ex As Exception
                    MyZipEntry = Nothing
                End Try
            End While
            If Not (MyZipInputStream Is Nothing) Then MyZipInputStream.Close()
            If Not (MyFileStream Is Nothing) Then MyFileStream.Close()
        End Sub
     
        Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
            ExtractArchive(FichierCharge, Chemin)
        End Sub

    A l'execution j'ai une erreur à cette ligne au niveau de GetNextEntry

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim MyZipEntry As ZipEntry = MyZipInputStream.GetNextEntry


    Si quelqu'un peut m'aider

  2. #2
    Membre Expert Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Try
                    MyZipEntry = MyZipInputStream.GetNextEntry
                Catch ex As Exception
                    MyZipEntry = Nothing
                End Try
    Mais c'est pour ça que tu le fais dans un try non? C'est pour détecter que tu as tout dé zipper.... Ou est ce que cela apparait alors que des fichiers sont encore à dé zipper?

  3. #3
    Membre actif
    Homme Profil pro
    Inscrit en
    Juin 2004
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : France, Nièvre (Bourgogne)

    Informations forums :
    Inscription : Juin 2004
    Messages : 92
    Par défaut
    Merci de t'interesser à mon problème

    Cela apparait sur cette ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim MyZipEntry As ZipEntry = MyZipInputStream.GetNextEntry
    Dans le zip il n'y a qu'un seul fichier

    Les variables FichierCharge et Chemin sont déclarées

  4. #4
    Membre Expert Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Par défaut
    Question bête, mais quel est le format du fichier que tu souhaites décompresser? .Zip?

    Et deuxième question, ce fichier compresser, il l'a été avec quel logiciel? (Winrar etc...) ou Windows?

  5. #5
    Membre actif
    Homme Profil pro
    Inscrit en
    Juin 2004
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : France, Nièvre (Bourgogne)

    Informations forums :
    Inscription : Juin 2004
    Messages : 92
    Par défaut
    Le fichier est un fichier de la francaise des jeux :

    http://www.fdjeux.com/generated/dyn/...uveau_loto.zip

    Avec quoi il est fait je ne sais pas mais en vb6, avec la zbil je n'avais aucun problème, d'aiileurs en vb6 ça fonctionne toujours

  6. #6
    Membre Expert Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Par défaut
    Alors il y a peut être une option non rensigné... comme par exemple le type de compression.

    Moi j'accède a mes fichier grâce à leurs index et ZipFile et je dois faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    CompressedFile = New ICSharpCode.SharpZipLib.Zip.ZipFile(Chemin_fichier)
            CompressedFile.UseZip64 = ICSharpCode.SharpZipLib.Zip.UseZip64.Dynamic

  7. #7
    Membre Expert Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Par défaut
    Tu peux regarder les propriétés de ton objet, comme: CanRead etc...

    Avec un point d'arrêt, tu trouvera un indice.

    Mais si comme je le crois, c'est une question de format du fichier, je sais que SharpZipLib mets à jour leur version qui corrige ce genre d'erreur:

    http://www.icsharpcode.net/OpenSourc.../Download.aspx

    Tu peux comparer ta version avec les dernières

Discussions similaires

  1. zip avec SharpZipLib
    Par Josselin54 dans le forum Débuter
    Réponses: 1
    Dernier message: 12/03/2014, 01h54
  2. Zipper des fichiers en C# avec la librairie SharpZipLib
    Par Thomas Lebrun dans le forum Contribuez
    Réponses: 2
    Dernier message: 31/12/2012, 09h34
  3. [Zip] Dézipper avec la librairie zip.lib.php
    Par hello-celine dans le forum Bibliothèques et frameworks
    Réponses: 9
    Dernier message: 05/09/2009, 19h38
  4. Dézipper avec OSA
    Par PH_DEMS dans le forum VB 6 et antérieur
    Réponses: 0
    Dernier message: 04/02/2009, 21h03
  5. dézipper un fichier avec vba
    Par Echizen1 dans le forum Contribuez
    Réponses: 3
    Dernier message: 06/02/2007, 10h23

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