Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Utilisation de variable d'environnement Unix en Java

6 réponses
Avatar
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.

6 réponses

Avatar
Scooby Ced
"Frank M." wrote in message
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

Avatar
Scooby Ced
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

Avatar
Cédric Chabanois
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


Avatar
Scooby Ced
"Cédric Chabanois" wrote in message> > En fait, il
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

Avatar
Akram
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.




Avatar
Cédric Chabanois
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