[código] Obtener variables de entorno e información del sistema con Java
El siguiente es un pequeño programa que usando el método getenv de la clase System, devuelve información del sistema operativo y de las variables de entorno. La salida del mismo es algo como esto:
Nombre del PC: alienxp
Nombre usuario: cristian
Procesador: x86 Family 15 Model 4 Stepping 1, GenuineIntel
Sistema operativo: Ubuntu 8.04 Hardy Heron
Version JDK: 1.6.0_01
Directorio actual: /home/cristian
Nombre del PC: winxp
Nombre usuario: ccasti
Procesador: x86 Family 15 Model 4 Stepping 1, GenuineIntel
Sistema operativo: Windows XP
Version JDK: 1.5.0
Directorio actual: c:\Documents and Settings\ccasti\Desktop
El código...
class InfoCompu
{
public static void main(String args[])
{
System.out.println("Nombre del PC: " + nombrePC());
System.out.println("Nombre usuario: " + usuario());
System.out.println("Procesador: " + procesador());
System.out.println("Sistema operativo: " + SO());
System.out.println("Version JDK: " + JDK());
System.out.println("Directorio actual: " + dir());
}
public static String nombrePC()
{
return System.getenv("COMPUTERNAME");
}
public static String usuario()
{
return System.getProperty("user.name");
}
public static String procesador()
{
return System.getenv("PROCESSOR_IDENTIFIER");
}
public static String SO()
{
return System.getProperty("os.name");
}
public static String JDK()
{
return System.getProperty("java.version");
}
public static String dir()
{
return System.getProperty("user.dir");
}
}









Cristian dice:
Septiembre 22nd, 2008 a las 2:12 pm
Pues si entendà lo que deseas,sÃ. Es necesario pasar como parámetro el objeto.
Ramc dice:
Septiembre 23rd, 2008 a las 6:11 pm
Con las que usan System.getenv(); me devuelve null. T_T
Cristian dice:
Septiembre 24th, 2008 a las 10:09 am
@Ramc : se puede deber al SO que uses y al usuario con el que ejecutes el programa.
Ramc dice:
Septiembre 24th, 2008 a las 1:31 pm
Utilizo Debian y también lo corri como root y nada T_T
Cristian dice:
Septiembre 24th, 2008 a las 1:33 pm
OK, entonces ya creo saber lo que sucede. Con dicha función lo que se hace es leer directamente sobre las variables de entorno, pero para estar más seguros porque no cambias temporalmente alguna de las instrucciones por esto:
return System.getenv(”HOME”);
Si funciona, y retorna la ruta de tu home, quiere decir que las otras variables no están definidas. Por lo que tendrás que hacer los ajustes necesarios al programa.
Un saludo!
Ramc dice:
Septiembre 24th, 2008 a las 2:33 pm
Si, efectivamente con esa si funciona
y viendo en /etc/environment
tampoco hay algunas que se le parezcan
nito dice:
Abril 8th, 2009 a las 6:35 pm
hay aguna funcion parecida que me devuelva el serial number de mother o procesador???