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 :

[Batch] : Loader un fichier properties du classpath: FileNotFound


Sujet :

Java

  1. #1
    Membre actif Avatar de jamesleouf
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2005
    Messages
    522
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 522
    Points : 243
    Points
    243
    Par défaut [Batch] : Loader un fichier properties du classpath: FileNotFound
    Bonjour,

    Je travaille actuellement sur une application Spring Batch, (mais ce n'est pas vraiment la source du problème). Je souhaiterais charger un fichier properties depuis le code, mais l'exécution me génère une exception de type FileNotFound.

    Pourtant je l'ai bien rajouté dans le classpath (et des copies un peu partout), mais pourtant je n'arrive pas a le charger.

    Je tente de le récupérer de cette manière :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Properties properties = new Properties();
    FileInputStream input = new FileInputStream(filename);
         try{
             properties.load(input);
             return properties;
          }
    Et comme filename j'essaie de mettre :
    nom_du_fichier.properties
    ou
    classpath:nom_du_fichier.properties

    Enfin, j'ai réussi a le faire tourner d'une manière qui ne me plait pas :
    C:\path\nom_du_fichier.properties


    Auriez vous une idée de la manière dont on pourrait ajouter de fichier dans le classpath? ou tout du moins, pour qu'il soit pris en compte?

    Merci bien et bonne journée!

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    pour résoudre l'url d'un fichier présent dans le classpath, utilises les méthodes getResource(), ou getRessourceAsStream() pour récupérer directement le stream, de la class Class, ou ClassLoader.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Membre actif Avatar de jamesleouf
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2005
    Messages
    522
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 522
    Points : 243
    Points
    243
    Par défaut
    Super.

    Je m'en suis sorti comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    properties.load(ClassLoader.getSystemResourceAsStream(filename));
    Merci bien en tout cas.

  4. #4
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,

    Attention à bien fermer le flux !!!

    Java 6 et inférieur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    InputStream input = ClassLoader.getSystemResourceAsStream(filename);
    try {
        properties.load(input);
    } finally {
        input.close();
    }

    Java 7 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    try (InputStream input = ClassLoader.getSystemResourceAsStream(filename)) {
        properties.load(input);
    }

    Attention également au fait que "getResourceAsStream()" renvoi null si le fichier n'est pas trouvé dans le classpath...



    a++

  5. #5
    Membre actif Avatar de jamesleouf
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2005
    Messages
    522
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 522
    Points : 243
    Points
    243
    Par défaut
    C'est bien noté; Merci beaucoup

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

Discussions similaires

  1. classpath dans un fichier .properties
    Par skeut dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 17/07/2009, 13h55
  2. Réponses: 0
    Dernier message: 15/07/2009, 15h11
  3. [Classpath] Ajout de fichier properties.. ou pas?
    Par Gueritarish dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 11/03/2008, 11h44
  4. [Property] fichier .properties classpath
    Par drKzs dans le forum Collection et Stream
    Réponses: 9
    Dernier message: 17/08/2006, 11h51
  5. Réponses: 3
    Dernier message: 17/06/2005, 14h46

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