Visualizza la versione completa : [JAVA] Leggere variabili d'ambiente in Unix
gaetanoTwins
02-12-2005, 21:30
Salve ragazzi, come posso leggere le variabili di ambiente di Unix in Java?
netarrow
02-12-2005, 21:41
System.getenv o System.getProperty
:ciauz:
gaetanoTwins
03-12-2005, 01:07
Ho provato, ma mi da errore:
String percorso = System.getenv("PATH");
L'errore è il seguente:
[genny@localhost servlets]$ javac gestioneFile.java
Note: gestioneFile.java uses or overrides a deprecated API.
Note: Recompile with -deprecation for details.
[genny@localhost servlets]$ javac gestioneFile.java -deprecation
gestioneFile.java:10: warning: getenv(java.lang.String) in java.lang.System has been deprecated
String percorso = System.getenv("PATH");//GLOBUS_LOCATION");
^
1 warning
Come posso risolvere??
grazie
Ed_Bunker
03-12-2005, 01:19
Dovrebbe essere System.getProperty(...)
gaetanoTwins
03-12-2005, 11:56
ho provato ma continua a non funzionare; questa volta nn mi ritorna errore ma dice che la stringa è vuota.
System.getProperty("PATH");
Come mai, premetto che la variabile di ambiente PATH non è vuota.
Grazie
dalla 1.5 getenv ritorna il valore di una variabile di ambiente e non è deprecata
tu stai compilando con la 1.4.2 o una precedente
gaetanoTwins
03-12-2005, 12:16
Hai ragione, come posso risolvere per la mia versione 1.4.2
non puoi :bhò:
a dire il vero potresti eseguire un comando e leggere il risultato
tipo
Process p = Runtime.getRuntime().exec("echo", new String[] {"$PATH"});
InputStream is = p.getInputStream();
e leggi il risultato :D
gaetanoTwins
03-12-2005, 17:23
p.getInputStream() ritorna l'output del processo "echo $PATH" e lo memorizza nel buffer "is".
come posso memorizzare l'output del processo in una stringa
Grazie ancora...
netarrow
03-12-2005, 18:10
...
int i = 0;
String str = "";
while((i = is.read()) != -1) {
str += (char) i;
}
...
:ciauz: