Die Windows XP systeminfo
Befehl zeigt viele Sachen, aber die relevanten Informationen ist dies:
System Locale: en-us;English (United States)
Input Locale: en-us;English (United States)
gleichwertige Informationen in Java zu erhalten, verwenden Locale.getDefault()
die Locale zu bekommen, dass Java verwendet, und Methoden zur Verwendung das Gebietsschema-Objekt wie getCountry()
, getLanguage()
, um Details zu erhalten. Die Information ist verfügbar unter Verwendung von ISO-Codes und als von Menschen lesbare/anzeigbare Namen.
Beachten Sie, dass Locale.getDefault()
Ihnen das Gebietsschema gibt, das Java beim Starten von der Umgebung abruft. Dies kann dasselbe wie das Gebietsschema "system" sein oder auch nicht. Um das Gebietsschema "System" definitiv in Java zu erhalten, müssten Sie plattformspezifische Dinge tun. IMO, es ist einfacher sicherzustellen, dass Java mit dem Systemgebietsschema gestartet wird ... wenn Sie diese Informationen wirklich benötigen.
UPDATE: Anscheinend hat Java 7 die Art und Weise geändert, dass die locale Informationen von getDefault()
verwendet wird, auf Windows bestimmt; siehe https://stackoverflow.com/a/8319889/139985
Entschuldigung, ich habe vergessen zu erwähnen, dass ich meine Spracheinstellung auf "Französisch" über Systemsteuerung-> Regions- und Sprachoptionen geändert habe. und wenn ich oben Code ausgeführt wird gibt es korrekte (geänderte) Ländereinstellung als "fr", aber wenn ich "Systeminfo" ausführen zeigt es immer noch "en-US" als System und Eingabegebietsschema. – Sudhir
Möglicherweise müssen Sie die Eingabeaufforderung schließen und erneut öffnen. Wie bei vielen Dingen Windows ist es nicht ganz klar, wo "systeminfo" die Information bekommt, die es anzeigt. –
Wie stellen Sie sicher, dass Java mit dem Systemgebietsschema gestartet wird? –