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

Java Discussion :

Les archives en Java


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2013
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 26
    Par défaut Les archives en Java
    Bonjour

    Je travaille en ce moment à récupérer des archives et à les décompresser.
    Je souhaite utiliser la méthode la plus simple possible alors je convertis l'archive en zip et je dézippe

    Ce n'est peut etre pas la meilleur manière mais comment distinguer du zip, du rar, du 7z, du tar.gz ou encore ces fichiers data livré avec un meta.

    De là, je renomme le fichier et je tente le dezippage. Cependant, j'aimerai faire avant la verification qu'il s'agisse bien là d'une archive avant de la "convertir" en zip.

    Existe t il une méthode ou une manière de savoir si une file est une archive?

    je vous remercie d'avance pour votre aide.

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Le nombre magique.
    C'est un ensemble d'octets placé en début de fichier qui identifie le format du fichier. Il est présent pour la quasi totalité des formats de compression de données.
    C'est un bon début mais n'est pas suffisant pour identifier à coup sûr le contenu d'un fichier.

    Tout dépend de ton besoin, mais le plus simple reste de regarder l'extension du fichier et d'appliquer le traitement dessus. S'il y a une erreur d'interprétation, alors le fichier est considéré comme corrompu.
    Évidemment, si le fichier ne possède pas d'extension...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2013
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 26
    Par défaut
    Merci pour votre réponse,

    En entrée, j'ai un objet, qui peut être une archive et que dans ce cas je renomme en zip sinon je compresse la donnée.

    C'est un convertZip commun.

    Et me baser sur l'extension...c'est chaud : Si j'ai comme fichier du .DATA, comment je sais si c'est une archive?

  4. #4
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Citation Envoyé par Garywald Voir le message
    Et me baser sur l'extension...c'est chaud : Si j'ai comme fichier du .DATA, comment je sais si c'est une archive?
    C'est bien pour cette raison que j'ai ajouté la dernière phrase

    Il arrive parfois qu'on cherche une solution sans regarder la globalité du problème. Dans le cas présent, les fichiers sont générés comment ? Demande-toi s'il serait possible de simplifier ton traitement en modifiant légèrement l'application qui génère le fichier. Est-il possible que le système générant les fichiers ajoute lui-même l'extension correcte ? Cela simplifierait grandement la partie que tu dois traiter.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2013
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 26
    Par défaut
    Est-il possible que le système générant les fichiers ajoute lui-même l'extension correcte ? Cela simplifierait grandement la partie que tu dois traiter.
    Si seulement , je ne choisis malheureusement pas les données que j'ai en entrée. elles peuvent être archivées ou non. Je dois les dézipper si c'est une archive, sinon juste les migrer ailleurs. Je peux donc avoir du .txt, du .pdf, du jar, du zip ^^
    Voilà pourquoi je recherchais une methode du type isArchive(), malheureusement malgré quelques piste du coté de DOSFileAttribute, il est trop incomplet et ne prend pas en compte le .DATA par exemple, je n'ai pas trouvé. Je cherche en ce moment à forcer mon type en zip et vérifier qu'il a des entrées. En cas d'erreur de conversion ou de dezippage, je pourrais savoir s'il c'est une archive;

  6. #6
    Membre Expert
    Avatar de eulbobo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2003
    Messages : 786
    Par défaut
    Si tu veux être sûr, tu prends ton fichier et tu essayes de le dézipper. Si ça plante, c'est que ce n'était pas un fichier zip (quelle que soit l'extension, chose à laquelle il ne faut pas se fier !) .

    Pour faire simple, regarde la classe ZipFile qui devrait contenir tout ce que tu as besoin pour tenter une décompression.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Les futurs tutoriels Java sur DVP ?
    Par Ricky81 dans le forum Débats
    Réponses: 65
    Dernier message: 06/01/2012, 02h33
  2. [Avis] Les meilleurs programmes Java ?
    Par christopheJ dans le forum ImageJ
    Réponses: 69
    Dernier message: 07/10/2008, 01h12
  3. Réponses: 5
    Dernier message: 15/02/2005, 10h32
  4. [Stratégie] Ant pour les tests en Java ?
    Par franckR dans le forum Tests et Performance
    Réponses: 5
    Dernier message: 08/03/2004, 09h38

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