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

Collection et Stream Java Discussion :

[java.util.Zip] vérifier l'intégrité d'une archive


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    kij
    kij est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 362
    Par défaut [java.util.Zip] vérifier l'intégrité d'une archive
    Bonjour,

    Tout est dans le titre, dans l'une de mes applications je zip des fichiers dans des archives (une archive par fichier, soit un fichier pour une archive). Or depuis un petit moment je constate que les fichiers produit par mon application donne des erreurs lors du dézippage de ces archives par le client :
    Je voulais donc savoir s'il est possible en Java de faire un CRC afin de controler l'intégrité de l'archive ?

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    je proposerais assez naivement d'utiliser l'api zip de java pour décompresser ce que tu viens de compresser, histoire de voir si t'as pas d'erreur.

  3. #3
    kij
    kij est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 362
    Par défaut
    Effectivement c'est la première chose que j'ai fait pour voir, malheureusement la décompression fonctionne bien alors que le fichier est corrompu. En gros, alors que les logiciels comme winZip, Unrar, etc affiche bien un message d'erreur CRC et demande s'il faut réellement décompresser l'archive en question.

    J'ai ensuite voulu afficher le CRC de l'archive (fonction getCrc() de l'API), et j'obtiens un -1. Je pense que ce CRC est à mettre soi-même lors de la compression suite à un contrôle CRC.

    Mon but est donc désormais de trouver une manière de faire pour reconnaitre cette erreur, et si elle a lieu, faire un petit algo pour supprimer mon archive et la compresser à nouveau.

    Pourquoi cela ? Parce que j'ai remarqué qu'en utilisant l'API Zip, j'ai aléatoirement cette erreur CRC qui apparait sur des archives, et donc je voudrais corrigé ce petit bug par une nouvelle compression de mes fichiers (pour le moment).

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    tu peux toujours comparer ce que tu décompresse, au fur et à mesure, avec les données de départ.

  5. #5
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    tu peux toujours comparer ce que tu décompresse, au fur et à mesure, avec les données de départ.
    Oui, mais comment faire s'il n'y a que le fichier zip et non les fichiers de départs (par exemple si l'on ne fait que décompresser) ? (enfin, même si dans ce cas ci, c'est de la compression)

  6. #6
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    tu as getCrc() et setCrc() sur ZipEntry, qui peux servir à consulter l'information. Tu as la classe crc32 du package zip qui permet de calculer un crc. Il n'y a plus qu'à comparer.

Discussions similaires

  1. Réponses: 1
    Dernier message: 06/06/2013, 09h29
  2. Vérifier l'intégrité d'une archive
    Par xxkirastarothxx dans le forum Langage
    Réponses: 2
    Dernier message: 16/09/2009, 12h29
  3. java.util.zip chemin des fichiers dans l'archive ZIP
    Par Bubu017 dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 15/04/2008, 17h36
  4. Importer java.utils.zip ?
    Par Chii-san dans le forum Java ME
    Réponses: 3
    Dernier message: 15/03/2007, 15h01
  5. [C#] #ziplib ou J# (java.util.zip) pour ZIPper?
    Par SErhio dans le forum Windows Forms
    Réponses: 10
    Dernier message: 11/02/2005, 15h46

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