2010-10-23 5 views

risposta

9

è possibile ottenere il nome del sistema operativo attraverso

System.getProperty("os.name") 

Dai un'occhiata alla this page per alcuni esempi di codice.


Se è per caso l'IP dell'host locale che ti interessa, ci sono modi per ottenere questo direttamente in Java:


Non c'è modo di determinare quale sia il comando "mostra informazioni ip" f o un sistema operativo arbitrario. Dovrai codificare manualmente qual è il comando (se lo è) per ciascun nome del sistema operativo manualmente.

+0

Grazie. Lo so, ma ho bisogno di sapere come fare in modo che il programma decida quale processo eseguire in fase di esecuzione a seconda dell'OS – jboy

+0

"Mac OS X" per me! –

+0

@Tony Ennis: quindi * "ifconfig" * funzionerà bene ... (C'è anche un ipconfig su OS X, ma quello è diverso). Oltre a ciò, OS X * ifconfig * è praticamente * ifconfig * di Linux. – SyntaxT3rr0r

3

Sulla 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

Per riferimento, ecco una concreta example che imposta una proprietà solo per un particolare sistema operativo:

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