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

Collection et Stream Java Discussion :

eviter de mettre le chemin complet pour un properties?


Sujet :

Collection et Stream Java

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 35
    Points : 21
    Points
    21
    Par défaut eviter de mettre le chemin complet pour un properties?
    bonjour,

    j'ai defini un properties dans mon programme et je rentre le chemin en dur dans mon programme ce qui me donne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Properties prop2 = new Properties();
            prop2.load( new FileInputStream("D:/a/b/c/d/e/client.properties"));
    je cherche un moyen de ne pas le mettre comme ceci, car le chemin va, biensur, changer.

    merci à tous

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

    Citation Envoyé par barthelus76 Voir le message
    je cherche un moyen de ne pas le mettre comme ceci, car le chemin va, biensur, changer.
    Ben il faut savoir où il sera pour pouvoir faire une règle :
    • Dans le jar getResource()
    • Dans le répertoire home de l'utilisateur tu construis le chemin avec System.getProperty("user.home")
    • N'importe où Tu utilises un moyen de passer le chemin à ton programme (propriété système, variable d'environnement, paramètres...)
    • etc...


    Les possibilités sont multiple...


    Sinon ton code est incorrect car tu ne refermes pas ton fichier...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Properties prop2 = new Properties();
    InputStream in = new FileInputStream("D:/a/b/c/d/e/client.properties");
    try {
            prop2.load( in ); 
    } finally {
            in.close();
    }
    a++

  3. #3
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 35
    Points : 21
    Points
    21
    Par défaut
    dacc, en l'occurence ici ce sera:

    N'importe où Tu utilises un moyen de passer le chemin à ton programme (propriété système, variable d'environnement, paramètres...)

    on fait comment

  4. #4
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2004
    Messages
    230
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2004
    Messages : 230
    Points : 250
    Points
    250
    Par défaut
    au pire dans le repertoire courant de l'appli ...

    new File("./tonfichierprop");

  5. #5
    Membre averti
    Inscrit en
    Novembre 2004
    Messages
    129
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Novembre 2004
    Messages : 129
    Points : 336
    Points
    336
    Par défaut
    Citation Envoyé par daedric Voir le message
    au pire dans le repertoire courant de l'appli ...

    new File("./tonfichierprop");
    ça, ça ne marche que si la machine virtuelle java est lancé "a partir" du repertoire courant de l'appli, non ?

    Teocali

  6. #6
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2004
    Messages
    230
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2004
    Messages : 230
    Points : 250
    Points
    250
    Par défaut
    ben en mem temps t'auras du mal a lancer une classe autrement non ? :p

    genre dans un shell tu es dans d: , ta classe dans c:\classe

    je vois pas comment tu va faire , ne serais ce que pour les packages ^^

    puis bon au pire je pense que tu peux jouer avec le classLoader enfin a toi de voir et d'ssayer

  7. #7
    Membre averti
    Inscrit en
    Novembre 2004
    Messages
    129
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Novembre 2004
    Messages : 129
    Points : 336
    Points
    336
    Par défaut
    En utilisant le classpath, je dirais.


    Et sinon, pour répondre a barthelus, les arguments d'une application sont récupérables dans le paramètre de la méthode main.

    Petit exemple :

    Si tu lances ton application a l'aide de la commande suivante :

    java a.b.c.d.MaClass arg1 arg2 arg3

    Le tableau de String passé en paramètre de la méthode main de la classe MaClass contiendra trois chaines qui sont respectivement "arg1", "arg2" et "arg3". Tu peux utiliser cela pour passer le chemin vers ton fichier de Properties. Si je ne suis pas clair, n'hésite pas a me le faire savoir.
    Concernant les propriétés systeme et les variables d'environnement, je laisse adiGuba, étant un peu dans le flou aussi (mais je suis quand même la discussion, vu que ces deux derniers points m'intéressent)

    Cordialement,

    Teocali

  8. #8
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2004
    Messages
    230
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2004
    Messages : 230
    Points : 250
    Points
    250
    Par défaut
    a ce compte la autant utiliser les variable d'environnement genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    private static String userdir = ".";
     
    static {
     
    		if (!(System.getProperty("os.name").startsWith("Windows"))) {
    			userdir = System.getenv("HOME");
     
    		} else {
    			userdir = System.getProperty("user.home");
    		}

Discussions similaires

  1. [Débutant][XSLT] - Chemin complet pour XALAN via JAVA
    Par gonzolero dans le forum XSL/XSLT/XPATH
    Réponses: 22
    Dernier message: 21/09/2007, 09h39
  2. Réponses: 3
    Dernier message: 31/05/2006, 11h43
  3. [débutant]ou mettre un fichier java pour une appli jsp?
    Par zozolh2 dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 11/05/2004, 15h20
  4. Réponses: 3
    Dernier message: 27/04/2004, 18h21
  5. Obtenir le chemin complet d'un fichier
    Par pamplemousse_mk2 dans le forum Linux
    Réponses: 3
    Dernier message: 13/08/2003, 23h07

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