Net-2 compression de fichier en zip avec l'aide de vj# et en gzip avec l'ajout du nom de fichier

Soyez le premier à donner votre avis sur cette source.

Vue 9 718 fois - Téléchargée 527 fois

Description

L'idée originale est venue d'un besoin de regrouper un paquet de fichiers zip (des polices de caractères) se trouvant sur un CD-ROM, mais chacune dans son propre dossier. Comme je voulais m'assurer qu'elles supportaient convenablement les caractères accentués, je ne pouvais pas me contenter de l'image JPEG qui les accompagnait. Disons que cela a été longt longtemps de "dézipper" chaque police. À force de chercher comment j'aurais pu m'en sortir autrement, j'ai trouvé un article sur un ancien DVD de MSDN Library (2004). Ledit article parlait de compresser/décompresser au format ZIP en utilisant les redistribuables de Visual J# (version 2002) avec Visual C# (version 2002). En bûchant un peu beaucoup, j'en ai fait une version VB 2005, Net 2.0. Puis j'ai trouvé (dans un CD d'archives de MSDN Magazine) et ajouté le moyen de mettre le nom du fichier d'origine dans un fichier GZip.

Conclusion :


Lisez bien les commentaires ajoutés. Il y a la référence à l'article original, les références à ajouter au code, et des explications supplémentaires. Attention aussi à la version des redistribuables J#. Si vous utilisez la mise à jour, lisez les commentaires que j'ai ajoutés au sujet de PathTooLongException qui ne déclenche plus chez moi. (Je me demande di ce n'est pas à cause du SP3 Windows XP, mais bon.) Si cela se déclenche toujours chez-vous, j'aimerais bien savoir si la parade, intestable pour moi, fonctionne. Merci bien d'avance. Également, n'oubliez pas que la recherche de tous les fichiers d'un disque à partir de la racine peut se révéler "longue longtemps".

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

johann36
Messages postés
132
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 mai 2017
-
Bonjour cmarcotte,

Je souhaite essayer ton appli, mais j'ai des soucis pour exécuter l'appli.
Voici la liste des erreurs :

Avertissement 1 Le composant référencé 'vjslib' est introuvable.
Avertissement 2 L'espace de noms ou le type spécifié dans les Imports 'java.util.zip' ne contient aucun membre public ou est introuvable. Vérifiez que l'espace de noms ou le type est défini et qu'il contient au moins un membre public. Vérifiez que le nom de l'élément importé n'utilise pas d'autres alias. D:\DEZIPPER\dézippe3\Form1.vb 4 9 Dézippe3
Erreur 3 Type 'ZipOutputStream' non défini. D:\DEZIPPER\dézippe3\Form1.vb 65 30 Dézippe3
Erreur 4 Type 'ZipFile' non défini. D:\DEZIPPER\dézippe3\Form1.vb 83 26 Dézippe3
Erreur 5 Type 'ZipFile' non défini. D:\DEZIPPER\dézippe3\Form1.vb 86 33 Dézippe3
Erreur 6 Type 'ZipFile.ZipEntryEnum' non défini. D:\DEZIPPER\dézippe3\Form1.vb 90 31 Dézippe3
Erreur 7 Type 'ZipEntry' non défini. D:\DEZIPPER\dézippe3\Form1.vb 103 32 Dézippe3
Erreur 8 Type 'java.util.zip.InflaterInputStream' non défini. D:\DEZIPPER\dézippe3\Form1.vb 200 37 Dézippe3
Erreur 9 Type 'ZipFile.ZipEntryEnum' non défini. D:\DEZIPPER\dézippe3\Form1.vb 203 35 Dézippe3
Erreur 10 Type 'ZipEntry' non défini. D:\DEZIPPER\dézippe3\Form1.vb 204 32 Dézippe3
Erreur 11 Type 'ZipFile' non défini. D:\DEZIPPER\dézippe3\Form1.vb 212 38 Dézippe3
Erreur 12 Type 'java.io.FileOutputStream' non défini. D:\DEZIPPER\dézippe3\Form1.vb 219 42 Dézippe3
Erreur 13 Type 'java.io.FileOutputStream' non défini. D:\DEZIPPER\dézippe3\Form1.vb 254 49 Dézippe3
Erreur 14 Type 'java.io.FileInputStream' non défini. D:\DEZIPPER\dézippe3\Form1.vb 400 37 Dézippe3
Erreur 15 Type 'java.io.FileInputStream' non défini. D:\DEZIPPER\dézippe3\Form1.vb 407 40 Dézippe3
Erreur 16 Type 'java.util.zip.ZipEntry' non défini. D:\DEZIPPER\dézippe3\Form1.vb 408 40 Dézippe3
Erreur 17 Le nom 'ZipEntry' n'est pas déclaré. D:\DEZIPPER\dézippe3\Form1.vb 409 39 Dézippe3
Erreur 18 Type 'java.util.zip.ZipOutputStream' non défini. D:\DEZIPPER\dézippe3\Form1.vb 411 30 Dézippe3
Erreur 19 Type 'java.util.zip.ZipOutputStream' non défini. D:\DEZIPPER\dézippe3\Form1.vb 455 41 Dézippe3
Erreur 20 Type 'java.io.FileInputStream' non défini. D:\DEZIPPER\dézippe3\Form1.vb 457 52 Dézippe3
Erreur 21 Type 'java.util.zip.ZipEntry' non défini. D:\DEZIPPER\dézippe3\Form1.vb 458 48 Dézippe3
Erreur 22 Le nom 'ZipEntry' n'est pas déclaré. D:\DEZIPPER\dézippe3\Form1.vb 460 51 Dézippe3
Erreur 23 Type 'java.util.zip.ZipOutputStream' non défini. D:\DEZIPPER\dézippe3\Form1.vb 492 47 Dézippe3
Erreur 24 Type 'java.util.zip.ZipEntry' non défini. D:\DEZIPPER\dézippe3\Form1.vb 496 48 Dézippe3
Erreur 25 Type 'java.io.FileInputStream' non défini. D:\DEZIPPER\dézippe3\Form1.vb 520 56 Dézippe3
Erreur 26 Type 'java.util.zip.ZipEntry' non défini. D:\DEZIPPER\dézippe3\Form1.vb 521 51 Dézippe3
Erreur 27 Le nom 'ZipEntry' n'est pas déclaré. D:\DEZIPPER\dézippe3\Form1.vb 522 55 Dézippe3
Erreur 28 Type 'java.util.zip.ZipOutputStream' non défini. D:\DEZIPPER\dézippe3\Form1.vb 553 47 Dézippe3
Erreur 29 Type 'java.util.zip.ZipEntry' non défini. D:\DEZIPPER\dézippe3\Form1.vb 557 48 Dézippe3
Erreur 30 Type 'java.util.zip.ZipEntry' non défini. D:\DEZIPPER\dézippe3\Form1.vb 561 47 Dézippe3
Erreur 31 Le nom 'ZipEntry' n'est pas déclaré. D:\DEZIPPER\dézippe3\Form1.vb 562 51 Dézippe3
Erreur 32 Type 'java.io.FileInputStream' non défini. D:\DEZIPPER\dézippe3\Form1.vb 564 52 Dézippe3
Erreur 33 Type 'java.io.InputStream' non défini. D:\DEZIPPER\dézippe3\Form1.vb 645 47 Dézippe3
Erreur 34 Type 'java.io.OutputStream' non défini. D:\DEZIPPER\dézippe3\Form1.vb 646 21 Dézippe3
Erreur 35 Type 'java.io.FileOutputStream' non défini. D:\DEZIPPER\dézippe3\Form1.vb 689 38 Dézippe3

Merci de me donner une solution.

A plus johann
Utilisateur anonyme -
Bonjour,

Il faut cocher la référence à vjslib dans Projet - Ajouter une référence - .Net - vjslib

Si jamais, le fichier n'est pas sur ta machine, installe les redistribuables Visual J# VERSION 2. (Comme je le dis dans les
commentaires ajoutés au code, les classes ont changé entre la version 1.1 et la version 2

http://msdn2.microsoft.com/fr-ca/vjsharp/bb188598.aspx

Bien choisir la version 2 qui correspond à ta machine (32 ou 64 bits)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.