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 :

[Jar]liste ressources d'un jar pendant execution


Sujet :

Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 40
    Points : 30
    Points
    30
    Par défaut [Jar]liste ressources d'un jar pendant execution
    Est ce que quelqu'un saurait comment recuperer la liste des fichiers contenus dans un repertoire situé dans le jar d'une applet , lors de l'execution afin de pouvoir travailler dans le programme avec cette liste. Le codage en dur de la liste etant impensable(trop long).
    par exemple avec quelque chose du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String []=this.getClass().getListeDesRessource("/nomdurepertoire") ;
    ou une autre methode
    Merci d'avance.
    [ Modéré par vedaer ]
    -> Ajout du tag dans le titre
    [ Merci de respecter les Règles du Forum ]

  2. #2
    Rédacteur
    Avatar de bulbo
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2004
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Février 2004
    Messages : 1 259
    Points : 1 937
    Points
    1 937
    Par défaut
    1er point : recuperer dynamiquement le nom de ton jar

    Voici un exemple qui se base sur le fait que la classe courante est dans le jar que tu veux:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
          // recuperation du nom et du package de ta classe
          Class c = getClass();
          String nom = c.getName();
          nom = "/" + nom.replace('.', '/') + ".class";
          System.out.println(nom);
          URL url = c.getResource(nom);
          if (null == url)
          {
            System.out.println("Probleme: on ne trouve pas l'url de la classe");
            System.exit(1);
          }
          nom = url.toString();
          System.out.println("URL = " + nom);
     
          int indexDebut = nom.indexOf("jar:file:/");
          int indexFin = nom.indexOf(".jar!");
          if ((-1 == indexDebut) || (-1 == indexFin))
          {
            System.out.println("Probleme: pas dans un jar");
            System.exit(1);
          }
          nom = nom.substring(indexDebut + 10, indexFin+4);
          nom = nom.replace('/', File.separatorChar);
          System.out.println("Path = " + nom);
    2eme point: Une fois que tu as le path du jar qui t'interesse, tu peux l'ouvrir grace a java.util.jar, trouver l'entry qui correspond a ton repertoire et en lister le contenu ...

    Bulbo
    [Java] [NetBeans] [CVS]
    La FAQ Java
    Merci de ne pas me poser de questions techniques par MP.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 40
    Points : 30
    Points
    30
    Par défaut
    Merci beaucoup, mais peux tu etre plus precis concernant la deuxieme partie car l'utilisation de jarentry et jarfile est un peu floue pour moi? en plus au niveau exemple sur le net on ne trouve pas grand chose.
    Désolé d'etre exigeant



  4. #4
    Rédacteur
    Avatar de bulbo
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2004
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Février 2004
    Messages : 1 259
    Points : 1 937
    Points
    1 937
    Par défaut
    Voila un bout de code d'exemple qui devrait te depanner:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
          // liste le repertoire dir
          String dir = "test/repertoire/java";
          String path = "C:\\MonRep\\MonJar.jar";
          JarFile jar = new JarFile(path);
          Enumeration enum = jar.entries();
     
          JarEntry entry = null;
          while (enum.hasMoreElements())
          {
            entry = (JarEntry) enum.nextElement();
            if (entry.getName().startsWith(dir))
            {
              System.out.println(entry.getName());
            }
          }
    Amuses-toi bien,

    Bulbo
    [Java] [NetBeans] [CVS]
    La FAQ Java
    Merci de ne pas me poser de questions techniques par MP.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 40
    Points : 30
    Points
    30
    Par défaut
    Merci, en fait je cherchais comment faire en pensant qu'entry correspondait forcement à un repertoire alors qu'en fait c'est un chemin vers une feuille, merci beaucoup de ton aide

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

Discussions similaires

  1. Ressources dans un jar
    Par Nemix dans le forum Débuter avec Java
    Réponses: 4
    Dernier message: 18/06/2008, 15h01
  2. Ajouter une ressource dans un JAR
    Par FabaCoeur dans le forum Java ME
    Réponses: 2
    Dernier message: 21/02/2008, 13h34
  3. Ressources autre que jar
    Par Vikisme dans le forum JWS
    Réponses: 2
    Dernier message: 22/06/2007, 17h56
  4. ressource dans le jar de mon appli
    Par laclac dans le forum Langage
    Réponses: 4
    Dernier message: 18/04/2007, 16h36
  5. [JAR] probleme d'exec de JAR faisant appel à un autre JAR
    Par guis14 dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 20/01/2006, 09h19

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