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

Entrée/Sortie Java Discussion :

fichier properties load exception


Sujet :

Entrée/Sortie Java

  1. #1
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2007
    Messages
    259
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2007
    Messages : 259
    Points : 128
    Points
    128
    Par défaut fichier properties load exception
    J'ai ce code et j'aimerais loader mon fichier properties par un chemin relatif
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     Properties p = new Properties(); 
     ClassLoader loader = ClassLoader.getSystemClassLoader();
     InputStream oInput=loader.getResourceAsStream(param);
      p.load(oInput);
    J'ai cette exception:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    java.lang.NullPointerException
    	at java.io.Reader.<init>(Reader.java:61)
    	at java.io.InputStreamReader.<init>(InputStreamReader.java:80)

    et c'est oInput qui est nul

  2. #2
    Modérateur
    Avatar de Alkhan
    Homme Profil pro
    ingénieur full stack
    Inscrit en
    Octobre 2006
    Messages
    1 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur full stack

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 232
    Points : 2 061
    Points
    2 061
    Par défaut
    bonjour,

    C'est normal car la méthode getResourceAsStream(...) retourne null si la ressource n'est pas trouvé !
    En clair, le path du fichier (la variable param dans ton cas) que tu as donné n'existe pas
    Il n'y a pas de problème, il n'y a que des solutions.
    Cependant, comme le disaient les shadoks, s'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
    Si toutefois le problème persiste, la seule solution restante est de changer le périphérique qui se trouve entre la chaise et l'écran

    Mes Articles : Mon premier article est sur le language D
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 24
    Points : 29
    Points
    29
    Par défaut
    Bonjour,

    tu passes "param" dans ta méthode getResourceAsStream(), est ce que tu es bien sur de l'avoir initialisé avec le bon chemin?

  4. #4
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2007
    Messages
    259
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2007
    Messages : 259
    Points : 128
    Points
    128
    Par défaut
    voici ma classe Mon service
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
     
    public  MonService(){
     
    public void init(param){
     Properties p = new Properties(); 
     ClassLoader loader = ClassLoader.getSystemClassLoader();
     InputStream oInput=loader.getResourceAsStream(param);
      p.load(oInput);  
       }
    }
    voici mon main


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    MonService monService= new MonService();
    MonService.init("configuration/monfichier.properties");

  5. #5
    Modérateur
    Avatar de Alkhan
    Homme Profil pro
    ingénieur full stack
    Inscrit en
    Octobre 2006
    Messages
    1 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur full stack

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 232
    Points : 2 061
    Points
    2 061
    Par défaut
    bonjour,

    Comment lances tu ton application ?
    Ou ce trouve réellement "monfichier.properties" ? est il dans un jar ?
    Il n'y a pas de problème, il n'y a que des solutions.
    Cependant, comme le disaient les shadoks, s'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
    Si toutefois le problème persiste, la seule solution restante est de changer le périphérique qui se trouve entre la chaise et l'écran

    Mes Articles : Mon premier article est sur le language D
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    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,


    Et où se trouve ton fichier précisément ?
    Comment lances-tu ton application ?
    As-tu définit un classpath particulier ?

    a++

  7. #7
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2007
    Messages
    259
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2007
    Messages : 259
    Points : 128
    Points
    128
    Par défaut
    Je lance l'app en dos c'est a dire c'est un batch
    voici mon fichier batch:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    @echo off
    SETLOCAL
    SET CLASSPATH=%WL_HOME%..\jar\monJar.jar;..\configuration\monfichier.properties;
    echo on
    java -classpath %CLASSPATH% monMain
    @ENDLOCAL
    voici l'arborescence:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    batch
           jar\monJar.jar
           configuration\monfichier.properties
           main\monBatch.bat

  8. #8
    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,



    Le classpath ne doit contenir QUE des répertoires ou des archives jar/zip, mais pas de simple fichier. Je rappelle que le classpath correspond aux emplacements "racines" à partir duquel les fichiers seront recherché...

    Deux solutions :
    • Soit tu met le répertoire .. dans le classpath.
    • Soit tu utilises une FileInputStream avec le chemin vers le fichier (ce n'est plus une ressource du classpath)


    a++

  9. #9
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2007
    Messages
    259
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2007
    Messages : 259
    Points : 128
    Points
    128
    Par défaut
    Citation Envoyé par adiGuba Voir le message
    Salut,



    Le classpath ne doit contenir QUE des répertoires ou des archives jar/zip, mais pas de simple fichier. Je rappelle que le classpath correspond aux emplacements "racines" à partir duquel les fichiers seront recherché...

    Deux solutions :
    • Soit tu met le répertoire .. dans le classpath.
    • Soit tu utilises une FileInputStream avec le chemin vers le fichier (ce n'est plus une ressource du classpath)


    a++
    Merci
    ca marche , dans le classpath j'ai déclaré le fichier properties alors qu'il ne faut déclarer que son répertoire

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

Discussions similaires

  1. [ Properties ] Load d'un fichier Properties "proprement"
    Par Warz dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 06/04/2011, 16h43
  2. [init] Recupérer un fichier properties et l'utiliser
    Par brousaille dans le forum Servlets/JSP
    Réponses: 14
    Dernier message: 13/01/2005, 14h50
  3. [JAR] Comment écrire dans un fichier properties dans un jar
    Par Alec6 dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 05/10/2004, 15h16
  4. [STRUTS] fichier properties indépendant
    Par meufeu dans le forum Struts 1
    Réponses: 5
    Dernier message: 28/07/2004, 16h10
  5. [struts] utiliser plusieurs fichiers properties
    Par jaimepasteevy dans le forum Struts 1
    Réponses: 7
    Dernier message: 03/10/2003, 17h02

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