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 :

decompression de fichier .zip


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 46
    Par défaut decompression de fichier .zip
    Bonjours a tous

    voila dans un projet je doit telecharger un fichier puis le decompresser
    j'ai regarder sur le forum et j'ai trouver une methode utilisant la librairie SharpZipLib.Zip

    je l'ai essayer et le code fonctionne parfaitement mais si le fichier existe deja il le remplace par le meme nom (du coup il ecrase le repertoire existant par un meme nom.

    se que je voudrais (si c'est possible), lorsque le repertoire est deja existant alors il en créer un autre portant le meme nom mais avec un numero a la fin qui s’incrémente tant que le repertoire n'existe pas.

    voici le code que j'utilise
    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
    Sub DecompressionMethods(ByVal zipFilename As String, ByVal ExtractDir As String)
            Try
                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()
            Catch ex As Exception
                MessageBox.Show(ex.Message, "erreur extraire .zip")
            End Try
            MsgBox("fin")
        End Sub
    ps: si quelqu'un pouvais m'expliquer se que fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     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
    j'ai l'impression que sa traite le fichier alors que juste avant on demande si le fichier existe

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 46
    Par défaut
    je pense que c'est soit pas possible ou très difficile
    car enfaite c'est le fichier qui est entrain d'etre extrait ou je voudrai changer le nom,
    je m'explique j'ai un fichier .zip contenant un repertoire "test" qui contient plusieur fichier
    moi se que je voudrais ces que lorsque j’extraie le fichier .zip il regarde si le repertoire test est deja existant si il les alors il en crée un autre repertoire avec un nom different "test1"
    jusque la j'ai reussi (il me créer bien un nouveau repertoire mais le probleme c'est que les fichier contenu dans le repertoire "test" du .zip on pour nom "test\nomdufichier" du coup le repertoire "test1" reste vide et le contenu du repertoire "test" change

    comment faire pour que le nom du fichier change de "test\nomdufichier" a "test1\nomdufichier"

    il me semble que c'est un probleme avec la variable myzipentry

Discussions similaires

  1. [VB.NET] Decompression de Fichier Zip
    Par vijeo dans le forum Windows Forms
    Réponses: 9
    Dernier message: 20/11/2007, 14h32
  2. [C#] [1.1] Decompression de fichier zip
    Par petitchat dans le forum Windows Forms
    Réponses: 1
    Dernier message: 14/11/2006, 15h27
  3. Decompresser des fichiers *.zip
    Par alex_95 dans le forum Général VBA
    Réponses: 4
    Dernier message: 07/07/2006, 14h37
  4. Decompresser un fichier .zip en command prompt cmd
    Par dighou dans le forum Windows
    Réponses: 4
    Dernier message: 23/06/2005, 11h36
  5. Decompresser un fichier .zip
    Par dighou dans le forum MFC
    Réponses: 2
    Dernier message: 23/06/2005, 10h46

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