begin process at 2008 07 05 14:35:04
1 205 204 membres
180 nouveaux aujourd'hui
14 119 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

UNZIP EN VB.NET


Information sur la source

Catégorie :Compression & Split Source .NET ( DotNet ) Niveau : Débutant Date de création : 04/03/2004 Date de mise à jour : 11/03/2004 21:51:01 Vu / téléchargé: 12 254 / 927

Note :
10 / 10 - par 2 personnes
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (14)
Ajouter un commentaire et/ou une note

Description

J'ai longuement cherché pour un moyen efficace de dézipper en VB.Net et finalement j'ai réussi à en faire fonctionner un. En fait, je ne suis pas véritablement l'auteur de ce code, le mérite va à gg00xiv, je n'ai fait que traduire une de ses sources pour déziper qui était  en C# vers le VB.net et j'ai un peu ajusté certaines choses pour la rendre compatible.

Source

  • 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
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

Conclusion

Une libraire externe a été utilisée : http://www.icsharpcode.net/OpenSource/SharpZipLib/default.asp
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

  • signaler à un administrateur
    Commentaire de Urgo le 04/03/2004 22:00:10

    Je viens de tester avec la librairie et ça marche du tonnere :)
    10/10 pour l'avoir fait en .NET

  • signaler à un administrateur
    Commentaire de claudetom le 05/03/2004 02:05:46

    Je l'utilise aussi dans le source que j'ai fourni sur ce site Gestion loto
    il marche très bien pour Unzipper et zipper

  • signaler à un administrateur
    Commentaire de li9 le 11/03/2004 18:26:43

    Super , comme j'ai la version 2002 de .net je peux même pas
    lire le projet !
    Bravo Microsoft !!

  • signaler à un administrateur
    Commentaire de Urgo le 15/05/2004 00:12:10

    li9, fallait pomper la bonne version lol

  • signaler à un administrateur
    Commentaire de et1 le 04/05/2005 16:02:13

    Bonjour
    J'ai besoin d'aide car le projet ne fonctionne pas sur vb.net 2003 (du moins sur mon PC)

    Voici les problèmes :

    -non défini :
    ZipZipInputStream
    ZipInputStream
    ZipEntry
    -L'espace des nom ou le type zip pour les imports ... est introuvable :
    Imports ICSharpCode.SharpZipLib.Zip

    Donc la source ne peut pas fonctionner.

    Pouvez-vous m'aider car j'aurais besoin de pouvoir décompresser les zip le plus rapidement

    Merci

  • signaler à un administrateur
    Commentaire de azerty99_71 le 29/06/2005 00:27:49

    Poste plutot sur le forum ... tu as plus de chances de recevoir une réponse ...

    Azerty99_71

  • signaler à un administrateur
    Commentaire de et1 le 30/06/2005 10:37:26

    C'est bon, le problème est réglé, c'est une erreur de références.
    Merci

  • signaler à un administrateur
    Commentaire de coulis le 21/02/2006 17:03:17

    J'ai un problème avec le fichier compressé suivant  : "VOWPC190.tar.Z"
    WinZip le decompresse sans problème. En utilisant la class ci-dessus j'ai l'erreur suivante : "Wrong Local header signature1452317983" dans mon navigateur Ie.
    je dois décompresser ce type de fichier automatiquement sur un site web.
    Il y a-t-il d'autres solutions ?

    Merci

  • signaler à un administrateur
    Commentaire de Gavial le 11/10/2006 16:24:51

    Cool, je cherchais partout, merci pour ton taff.

  • signaler à un administrateur
    Commentaire de ananiso le 11/03/2007 10:29:50

    excellent, je viens de comprendre asp.net est ce kil y a klk1 pe m'aider avec un cour simple un pe svp?

  • signaler à un administrateur
    Commentaire de floppeur le 16/04/2007 11:31:51

    Très bien 9 sur 10, l’histoire est régler en deux coup de cuillère à pot… Cependant, il existe une classe dans le Framework 2.0…System.IO.Compression, pour info  

  • signaler à un administrateur
    Commentaire de youssefino le 02/11/2007 14:49:04

    JE SUIS ENCORE NOVICE en programmation et j'ai besoin de dezziper un fichier pour un projet ke j'ai à faire.
    J'ai donc réccupérer tout bêtement le programme que tu as mis et j'ai fait un copier coller sur mùon ùmodule mais j'imagine ke j'ai pas mal de paramètres à changer.
    Si vous pouviez prendre le temps de m'expliker ca serait très gentil


    merci

  • signaler à un administrateur
    Commentaire de zakariya_2201 le 16/06/2008 12:57:07

    ok youssefino
    je te consiel de telecharger le projet et essayer de comprendre le code pas a pas,
    tu doit savoir d'abord:
                   * C'est quoi une reference web a quoi il saire...
                   * Comment l'importer pour travailler avec
                   * un peu petit peu de courage et de motivation
    et sa vien tout seul,et bonne chance

  • signaler à un administrateur
    Commentaire de zakariya_2201 le 16/06/2008 13:00:03

    une autre chose YOUSSEFINO, c mieux de faire le copier/coller sur un evenement clique du button directement pas sur le module

Ajouter un commentaire

Pub



Appels d'offres

Plugin Dialer outlook
Budget : 2 000€
Travail graphique- ill...
Budget : 1 000€
creation de marque et ...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Boutique

Boutique de goodies CodeS-SourceS