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

IO Java Discussion :

Charger un fichier de properties


Sujet :

IO Java

  1. #1
    Membre actif
    Profil pro
    Developpeur
    Inscrit en
    avril 2004
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Developpeur

    Informations forums :
    Inscription : avril 2004
    Messages : 160
    Points : 209
    Points
    209
    Par défaut Charger un fichier de properties
    Bonjour,

    J'ai une class java dans un package (com.cli.app par exemple) et je veux lire une clé dans un fichier de properties qui se trouve, quant à lui, directement sur la racine (cad dans le dossier src).

    chemin vers le fichier java: src/com/cli/app/Test.java
    chemin ver le fichier properties: src/test.properties

    Je n'arrive pas à localiser le fichier de properties à partir de ma classe java: quand je met par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ClassLoader.class.getResourceAsStream ("test.properties");
    ça me retourne un NULL
    pareil quad j'utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Test.class.getResourceAsStream("test.properties");
    Avez vous une aidée ?
    Merci !!

  2. #2
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    avril 2008
    Messages
    2 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : avril 2008
    Messages : 2 203
    Points : 8 286
    Points
    8 286
    Billets dans le blog
    51
    Par défaut
    Bonjour,

    Il me semble que les fichier .properties sont associé en générale à la classe Properties (cf javadoc).

    Je n'ai certes, jamais utiliser cette classe, mais le chargement d'un tel fichier semble se faire d'un autre manière:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    // Read properties file.
    Properties properties = new Properties();
    try {
        properties.load(new FileInputStream("filename.properties"));
    } catch (IOException e) {
    }
     
    // Write properties file.
    try {
        properties.store(new FileOutputStream("filename.properties"), null);
    } catch (IOException e) {
    }
    source

    Cordialement,
    Patrick Kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    septembre 2004
    Messages
    11 826
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : septembre 2004
    Messages : 11 826
    Points : 20 062
    Points
    20 062
    Par défaut
    Citation Envoyé par kolodz Voir le message
    Il me semble que les fichier .properties sont associé en générale à la classe Properties (cf javadoc).
    Ce n'est pas vraiment la question. Quant à l'exemple que tu donnes, un FileInputStream ne peut pas accéder aux ressources situées dans le classpath. (Entre autres, parce qu'elles pourraient y être encapsulées dans un .jar, donc pas sous forme de fichier servi par le système de fichiers.)

    Citation Envoyé par kolodz
    Je n'arrive pas à localiser le fichier de properties à partir de ma classe java: quand je met par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ClassLoader.class.getResourceAsStream ("test.properties");
    ça me retourne un NULL
    pareil quad j'utilise

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Test.class.getResourceAsStream("test.properties");
    Je crois que c'est plutôt le second, mais en fait c'est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Test.class.getResourceAsStream("/test.properties");
    Avec un / au début pour indiquer que la ressource n'est pas dans le même package que la classe Test.

    Ou bien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Test.class.getClassLoader().getResourceAsStream("test.properties");
    Le ClassLoader, lui, cherche directement depuis le package racine, et ne tolère pas qu'on mette un / au début d'un nom de ressource.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    avril 2008
    Messages
    2 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : avril 2008
    Messages : 2 203
    Points : 8 286
    Points
    8 286
    Billets dans le blog
    51
    Par défaut
    En effet, c'est bien la première solution que tu donne.
    cf javadoc :http://download.oracle.com/javase/6/...a.lang.String)
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  5. #5
    Membre actif
    Profil pro
    Developpeur
    Inscrit en
    avril 2004
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Developpeur

    Informations forums :
    Inscription : avril 2004
    Messages : 160
    Points : 209
    Points
    209
    Par défaut
    Citation Envoyé par kolodz Voir le message
    Il me semble que les fichier .properties sont associé en générale à la classe
    Come le dis thelvin, ce n'est pas ça ma question , merci quand meme.
    Moi je me posais la question sur comment specifier le chemin vers le fichier de properties quand il n'est pas au meme niveau que la calsse java.

    thelvin, c'est la 2eme methode qui marche.
    Merci

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    septembre 2004
    Messages
    11 826
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : septembre 2004
    Messages : 11 826
    Points : 20 062
    Points
    20 062
    Par défaut
    Les deux marchent, elles utilisent simplement deux points de vue différents -_-°.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. [Data] Charger un bean à partir d'un fichier de properties
    Par compilit dans le forum Spring
    Réponses: 1
    Dernier message: 25/12/2011, 15h14
  2. Charger un fichier de properties
    Par piltrafeta dans le forum GWT et Vaadin
    Réponses: 7
    Dernier message: 20/12/2010, 15h53
  3. Réponses: 11
    Dernier message: 13/04/2010, 10h00
  4. Charger un fichier .properties
    Par dev123 dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 28/11/2008, 17h32
  5. [chemin] Charger un fichier properties
    Par bouchette63 dans le forum Langage
    Réponses: 2
    Dernier message: 26/07/2006, 16h56

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