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 :

Compression en .tar


Sujet :

Java

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 109
    Points : 52
    Points
    52
    Par défaut Compression en .tar
    Bonjour,
    Pour archiver un dossier (qui contient à son tour des fichiers et des sous dossiers...) dans un .tar, j'utilise le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    File tarFile = new File("my.tar");
    			FileOutputStream out = new FileOutputStream(tarFile);
    			TarArchive tar = new TarArchive(out);
    			File directory = new File("C:\\Users\\user1\\Desktop\\dossier");//"dossier" est le dossier à archiver
    			File[] files = directory.listFiles();
    			for (File file : files) {
    			System.out.println("Adding "+file);
    			TarEntry tarEntry = new TarEntry(file);
    			tar.writeEntry(tarEntry, true);
    			}
    			tar.closeArchive();
    			out.close();
    La compression s'exécute correctement sauf que l'archive crée contient toute l'arborescence du dossier que j'ai archivé. Par exemple dans mon cas, en extractant l'archive j'obtient un dossier "user" dans lequel un dossier "user1" (dans lequel un dossier desktop...).
    Comment enlever cette arborescence .
    Merci

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Cela dépend de quelle bibliothèque tu utilises pour gérer les .tar. Il n'y en a pas fournie avec Java, et il y en a plus d'une fournie par des tiers. On ne va pas deviner laquelle tu as prise.

    Mais lorsque c'est possible, le principe est simple : indiquer le nom de l'entrée (avec chemin relatif) en plus d'indiquer le File (qui est forcément absolu, puisque c'est de là qu'on va tirer les données à mettre dans le .tar.)

    Quant à savoir comment construire un chemin relatif à partir d'un File, toutes les libs n'ont pas un moyen facile de le faire. Mais ça se fait très bien avec les méthodes de File lui-même et un peu de logique.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Compression en tar.gz
    Par angenoir dans le forum Bibliothèques
    Réponses: 1
    Dernier message: 04/09/2010, 12h38
  2. Compresser en tar en excluant un sous rep
    Par Soria17 dans le forum Linux
    Réponses: 2
    Dernier message: 02/01/2007, 13h54
  3. Compression tar bz2
    Par loki dans le forum Langage
    Réponses: 2
    Dernier message: 14/11/2006, 22h06
  4. SSIS : compression en tar.gz
    Par kaboume dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 04/08/2006, 14h29
  5. Compresser *.tar.gz en .zip sous windows
    Par 18Marie dans le forum Autres Logiciels
    Réponses: 3
    Dernier message: 06/07/2006, 15h03

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