2013-01-31 14 views

risposta

9

Se la macchina virtuale non ha Console disponibili (ad esempio, perché hai iniziato con javaw.exe), quindi una chiamata a System.console() torneranno nullo.

edit: vale a dire,

final boolean amRunningJavaW = System.console() == null; 
+0

A rigor di termini, avrei chiamato la variabile 'probablyRunningJavaW', dal momento che questo non è in realtà testando il nome del processo eseguibile. :-) E potrebbero esserci altri motivi per cui una console di sistema non è disponibile, anche se non ne conosco affatto. –

+0

Per quanto riguarda i motivi per 'System.console()' che restituisce 'null', se l'applicazione viene eseguita con il suo flusso standard collegato a un altro programma (ad esempio, più, meno) o all'esterno di un file, quindi' System.console () 'restituirà' null' –

Problemi correlati