Gestion des .zip, .tar, .gz (ou autre archive)

Résolu/Fermé
mikis69 Messages postés 168 Date d'inscription mardi 26 novembre 2013 Statut Membre Dernière intervention 11 février 2019 - 23 juin 2017 à 20:27
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 - 23 juin 2017 à 21:09
Bonjour tout le monde,

J'ai quelques petites questions concernant les fichiers "archives" en java.

Pour vous mettre en situation, je dois télécharger un tas de projets sur internet (par exemple des projets github, des modules sur CPAN) donc on ne sait pas sur quoi on va tomber (zip, tar ou autre).

1. Je voulais savoir s'il existe un moyen de tester si l'objet File est une archive ?
Car si on fait isDirectory(), il repond que non et si on fait isFile(), il répond que oui.

2. Je voulais savoir également s'il existe un moyen de gérer toutes les extensions en une seule méthode ? Ou s'il faut faire au cas par cas ? Car je sais qu'il existe l'objet ZIP en java mais il ne prend pas en charge les fichiers tar par exemple..

Merci pour vos réponses,

Bonne soirée à tous,

Mikis
A voir également:

1 réponse

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
23 juin 2017 à 20:43
Bonjour,

Java gère nativement les zip notamment parce que c'est l'algorithme de compression utilisé pour les jar, mais Java n'a pas trop d'intérêt à proposer davantage d'algorithmes, car il en faudrait autant qu'il y a de formats de compression à gérer, et il y en a beaucoup, certains ayant un format propriétaire incompatibles avec la licence d'utilisation de Java.

En revanche il existe des bibliothèques qui viennent compléter ce manque, par exemple Apache Commons Compress.
0
mikis69 Messages postés 168 Date d'inscription mardi 26 novembre 2013 Statut Membre Dernière intervention 11 février 2019
23 juin 2017 à 20:48
Merci pour ta réponse si rapide,

Donc clairement pour savoir quoi utiliser pour décompresser l'archive, je vais devoir tester l'extension ?
Il n'existe pas de moyen plus rapide (en terme de performance) ?

Encore merci :)
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015 > mikis69 Messages postés 168 Date d'inscription mardi 26 novembre 2013 Statut Membre Dernière intervention 11 février 2019
23 juin 2017 à 21:09
Quand on parle de décompresser un fichier, ce n'est pas tester l'extension qui va plomber les performances... à voir d'ailleurs si Commons Compress ne possède pas déjà une méthode utilitaire pour faire cette détection.

Et pour rappel, l'extension d'un fichier est juste une indication de type pour certains systèmes d'exploitation, afin de savoir avec quel programme ouvrir le fichier, mais ce qui compte c'est le programme qui ouvre le fichier, pas l'extension du fichier en lui même.
0