Variables de entorno

MJ
10 de Enero del 2002
¿Como puedo acceder a las varibles de entorno definidas por el usuario?

Oblongo
10 de Enero del 2002
Entre las variables que se listan con este programa hay algunas que están definidas por el usuario. Pero no salen todas las que se listan con el comando set del MS-DOS.

import java.util.Properties;
import java.lang.System;
class var {
public static void main (String args[]) {
Properties listaVar = new Properties( System.getProperties() );
listaVar.list(System.out);
}
}

Prueba si quieres este programa, a ver si te sirve.
El ejemplo que te pongo a continuación fue un intento por meter en java las variables que lista set, pero no me funciona. Yo tampoco se mucho Java y ni siquiera se si mi idea va por el buen camino. Si alguien sabe porqué no funciona o donde he metido la pata, le agradecería mucho que lo dijera, así aprendemos todos un poco, que es de lo que se trata.

import java.io.*;

class var2 {
public static void main (String args[]) {
Runtime rTime = Runtime.getRuntime();
Process pro = null;
String comando = "set";
InputStream entrada;

int dato;

try {
pro = rTime.exec("set");
entrada = pro.getInputStream();

while ((dato = entrada.read()) != -1) {
System.out.print ((int) dato);
}

} catch (IOException e) { ; }
}
}
La variable entrada también la he puesto como BufferedImputStream y nada, no va tampoco.

Si no una solución muy poco elegante sería volcar la salida se SET a un fichero y leerlo con tu programa java y eso seguro que funciona.
set > misVariablesDeEntorno.txt
...y ya tá.

santos
10 de Enero del 2002
Podeis mirar el artículo que se encuentra en
http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps_p.html

Es muy instructivo.
Un saludo