Windows XP systeminfo
comando visualizza un sacco di roba, ma le informazioni pertinenti è questa:
System Locale: en-us;English (United States)
Input Locale: en-us;English (United States)
Per ottenere informazioni equivalenti in Java, utilizzare Locale.getDefault()
per ottenere le impostazioni internazionali che Java sta usando, e utilizzare metodi su l'oggetto Locale come getCountry()
, getLanguage()
per ottenere dettagli. Le informazioni sono disponibili usando i codici ISO e come nomi leggibili/visualizzabili dall'uomo.
Si noti che Locale.getDefault()
fornisce la locale che Java preleva dall'ambiente quando viene avviato, questo può o meno essere uguale al locale "sistema". Per ottenere definitivamente le impostazioni locali "di sistema" in Java, è necessario fare cose specifiche della piattaforma. IMO, è più semplice assicurarsi che Java venga avviato con le impostazioni internazionali del sistema ... se hai davvero bisogno di quelle informazioni.
UPDATE: A quanto pare, Java 7 ha cambiato il modo in cui l'informazione locale usato da getDefault()
è determinato su Windows; vedi https://stackoverflow.com/a/8319889/139985
fonte
2010-03-18 12:04:32
Mi spiace, ho dimenticato di dirlo, ho cambiato la mia lingua in "francese" tramite il pannello di controllo-> opzioni regionali e della lingua. e quando corro sopra il codice restituisce il locale corretto (modificato) come "fr", ma quando eseguo "systeminfo" mostra ancora "en-US" come sistema e input locale. – Sudhir
Potrebbe essere necessario chiudere il prompt dei comandi e aprirlo di nuovo. Come con molte cose di Windows, non è del tutto chiaro dove "systeminfo" sta ottenendo le informazioni che sta visualizzando. –
come assicurarsi che Java venga avviato con le impostazioni internazionali del sistema? –