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

Servlets/JSP Java Discussion :

Charger un fichier .properties


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 31
    Par défaut Charger un fichier .properties
    Bonjour,

    J'ai un fichier.properties dans /WEB-INF et j'ai besoin de le charger pour exploiter les données.
    Voilà ce que je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Properties prop = new Properties();
    InputStream is2 = getClass().getResourceAsStream("/WEB-INF/file.properties"); 
    prop.load(is2);
    result = prop.getProperty(param);
    in.close();
    Et j'ai un java.lang.NullPointerException.
    Pourtant sur tous les Forums, ils disent que c'est comme ça qu'il faut faire.
    Est ce que quelqu'un aurait une idée ?
    Merci

  2. #2
    Expert éminent
    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
    Billets dans le blog
    1
    Par défaut
    Salut,


    Tu dois préciser le chemin exact du répertoire, soit en utilisant le chemin complet (ce que tu fais ici mais il est incorrect), soit en utilisant un chemin relatif par rapport au répertoire de travail.

    Dans une application Web, ce second choix n'est pas directement possible car on ne peut pas déterminer avec précision le répertoire de travail, qui dépend du serveur d'application J2EE.

    Ainsi dans une application J2EE il faut utiliser le Servletcontext pour récupérer le chemin absolu vers un fichier à partir du chemin relatif à l'application.

    Grosso modo cela donnerait ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Properties prop = new Properties();
    String path = getServletContext().getRealPath("/WEB-INF/file.properties");
    InputStream is2 = getClass().getResourceAsStream(path); 
    try {
        prop.load(is2);
    } finally {
        in.close();
    }
    result = prop.getProperty(param);
    Je n'ai pas pu m'empêcher d'ajouter un try/finally

    a++

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 31
    Par défaut
    Merci pour ta réponse. J'ai effectivement utilisé cette solution dans le cas ou je ne trouverai pas de solutions avec ClassLoader.
    Le souci c'est que je ne veux pas passer par une servlet pour le faire.

  4. #4
    Expert éminent
    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
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par dev123 Voir le message
    Merci pour ta réponse. J'ai effectivement utilisé cette solution dans le cas ou je ne trouverai pas de solutions avec ClassLoader.
    Le souci c'est que je ne veux pas passer par une servlet pour le faire.
    Ben
    Tu es dans un context Web non ?
    Donc tu passes forcément par une servlet...


    Sinon détailles ton contexte d'exécution

    a++

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 31
    Par défaut
    Effectivement je suis dans un contexte web. Mais mon file.properties va changer très souvent.
    La solution que j'ai codé avec la servlet est la suivante :
    1 - j'ai défini une servelt qui charge le fichier au démarrage, qui alimente un singleton.
    2 - par ailleurs, j'ai une classe java qui a besoin de ses données, et j'appelle le singleton pour exploiter les données du file.properties.

    Ca marche très bien, sauf qu'a chaque fois que je vais avoir une nouvelle données le file.properties, il va falloir que modifi mon singleton pour rajouter l'attribut qui va avec etc etc ...

    Tu vois pourquoi je voulais accéder au fichier directement ?

  6. #6
    Expert éminent
    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
    Billets dans le blog
    1
    Par défaut
    Ben ta servlet de démarrage doit générer le chemin complet, et le passer à ton singleton.

    Ainsi il peut rechercher le fichier autant de fois que nécessaire, sans avoir à recalculer son chemin complet (il l'a déjà)

    a++

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

Discussions similaires

  1. Charger un fichier de properties
    Par bonano dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 10/08/2011, 15h02
  2. Charger un fichier de properties
    Par piltrafeta dans le forum GWT et Vaadin
    Réponses: 7
    Dernier message: 20/12/2010, 14h53
  3. Réponses: 11
    Dernier message: 13/04/2010, 09h00
  4. Charger le path des fichiers properties
    Par yanis97 dans le forum Langage
    Réponses: 1
    Dernier message: 30/11/2006, 20h54
  5. [chemin] Charger un fichier properties
    Par bouchette63 dans le forum Langage
    Réponses: 2
    Dernier message: 26/07/2006, 15h56

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