2010-10-23 8 views

Respuesta

9

Usted puede obtener el nombre del sistema operativo a través de

System.getProperty("os.name") 

Tenga una mirada en this page de un código de ejemplo.


Si es por casualidad la IP de la máquina local que le interesa, hay maneras de conseguir esto directamente en Java:


No hay forma de determinar qué es el comando "mostrar información del IP" o un sistema operativo arbitrario. Deberá codificar de forma manual el comando (si es uno) para cada nombre de sistema operativo.

+0

Gracias. Lo sé, pero necesito saber cómo hacer que el programa decida qué proceso ejecutar en tiempo de ejecución según OS – jboy

+0

"Mac OS X" para mí. –

+0

@Tony Ennis: entonces * "ifconfig" * funcionará bien ... (También hay una ipconfig en OS X, pero esa es diferente). Además de eso, el * ifconfig * de OS X es bastante * ifconfig * de Linux. – SyntaxT3rr0r

3

Basándose en aioobe's solution:

final String osname = System.getProperty("os.name").toLowerCase(); 
String processName; 
if(osname.startsWith("win")) 
    processName="ipconfig /some /parameter"; 
else 
    processName="ifconfig -some -parameter"; 
Runtime.getRuntime().exec(processName); 
3

Como referencia, he aquí una concreta example que establece una propiedad sólo para un sistema operativo en particular:

if (System.getProperty("os.name").startsWith("Mac OS X")) { 
    System.setProperty("apple.awt.graphics.UseQuartz", "true"); 
} 
Cuestiones relacionadas