Utilisation de variable d'environnement Unix en Java

Le
Frank M.
Bonjour,

Je souhaite utiliser des variables d'environnement Unix (raccourcis de
répertoire du style $MAIN_DIR) dans des classes Java pour accéder à des
fichiers.
Comment puis-je m'y prendre pour que Java interprête mon $MAIN_DIR en temps
que /home/bidule/truc/machin/ ?
Merci d'avance.
  • Partager ce contenu :
Vos réponses
Trier par : date / pertinence
Scooby Ced
Le #455148
"Frank M." news:3f730d26$0$28884$
Bonjour,

Je souhaite utiliser des variables d'environnement Unix (raccourcis de
répertoire du style $MAIN_DIR) dans des classes Java pour accéder à des
fichiers.
Comment puis-je m'y prendre pour que Java interprête mon $MAIN_DIR en
temps

que /home/bidule/truc/machin/... ?
Merci d'avance.



Salut,

Une solution est de charger en ligne de commande les variables
necessaires. Ex:
java -Dmain_dir=/home/bidule/truc/machin -cp $CLASSPATH monAPI

Une autre solution est un resourceBundle ( fichier .properties).

Ced

Scooby Ced
Le #455147
Bonjour,

Je souhaite utiliser des variables d'environnement Unix (raccourcis de
répertoire du style $MAIN_DIR) dans des classes Java pour accéder à des
fichiers.
Comment puis-je m'y prendre pour que Java interprête mon $MAIN_DIR en
temps

que /home/bidule/truc/machin/... ?
Merci d'avance.


En fait, il y a un moyen de recuperer la valeur:

<java-puree>
String cmd=new String[]{"/bin/sh", "-c", "echo $MAIN_DIR"};
Process p=Runtime.getRuntime( ).exec(cmd);
InputStream is=p.getInputStream();
String main_dir=lireLigne(is);
is.close();
</java-puree>

Voili.

Ced

Cédric Chabanois
Le #472785
Scooby Ced wrote:

Bonjour,

Je souhaite utiliser des variables d'environnement Unix (raccourcis de
répertoire du style $MAIN_DIR) dans des classes Java pour accéder à des
fichiers.
Comment puis-je m'y prendre pour que Java interprête mon $MAIN_DIR en


temps

que /home/bidule/truc/machin/... ?
Merci d'avance.



En fait, il y a un moyen de recuperer la valeur:

<java-puree>
String cmd=new String[]{"/bin/sh", "-c", "echo $MAIN_DIR"};
Process p=Runtime.getRuntime( ).exec(cmd);
InputStream is=p.getInputStream();
String main_dir=lireLigne(is);
is.close();
</java-puree>

Voili.

Ced


Ouai, par contre ce n'est pas très portable


Scooby Ced
Le #459713
"Cédric Chabanois" y a un moyen de recuperer la valeur:


Ouai, par contre ce n'est pas très portable



Il est possible d'utiliser la propriete java.os et de choisir la commande
shell ou DOS a utiliser.
C'est pour ca que la premiere solution ( fichier .properties) aurait ete
plus simple :)

Ced

Akram
Le #470396
La meilleure façon je pense c'est d'utiliser la méthode getEnv( String
name ) de la classe System.
Malheureusement, il semblerait qu elle soit deprecated. Il est donc
conseillé d'uiliser la méthode getProperties( String key )

Frank M. wrote:
Bonjour,

Je souhaite utiliser des variables d'environnement Unix (raccourcis de
répertoire du style $MAIN_DIR) dans des classes Java pour accéder à des
fichiers.
Comment puis-je m'y prendre pour que Java interprête mon $MAIN_DIR en temps
que /home/bidule/truc/machin/... ?
Merci d'avance.




Cédric Chabanois
Le #470206
Bonjour,

Je souhaite utiliser des variables d'environnement Unix (raccourcis de
répertoire du style $MAIN_DIR) dans des classes Java pour accéder à des
fichiers.
Comment puis-je m'y prendre pour que Java interprête mon $MAIN_DIR en temps
que /home/bidule/truc/machin/... ?
Merci d'avance.




Tu peux regarder aussi comment Ant fait. Ant est généralement une très
bonne source pour ce genre de problèmes.

Cédric

Poster une réponse
Anonyme