der folgende Code mein Problem illustrieren helfen:Einstellung sun.locale.formatasdefault auf true in Java 7
import java.util.Locale;
import java.text.*;
public class LocaleTest {
public static void main(String[] args) {
System.out.println(Locale.getDefault());
System.out.println("java-version-" +System.getProperty("java.version"));
System.setProperty("sun.locale.formatasdefault","true");
System.out.println("prop:" +System.getProperty("sun.locale.formatasdefault"));
System.out.println("getLocale-" +Locale.getDefault());
}
}
Wie wir wissen, gibt es Fehler in Java 7, in Locale.getDefault() jedoch wie. Empfohlen von Oracle Ich habe die Systemeigenschaft 'sun.locale.formatasdefault' auf 'true' gesetzt. Obwohl ich jetzt mein m/c-Gebietsschema erhalte, wird es immer als en_US angezeigt, obwohl mein m/c-Gebietsschema auf fr_BE gesetzt ist.
Hier die Ausgabe des obigen Code, der auf Java 1.7.0_09 kompiliert und ausgeführt wird:
en_US java-version-1.7.0_09 prop:true getLocale-en_US
Irgendwelche Gedanken auf, was somit möglicherweise verursachen? Vielen Dank im Voraus.
Dank für Ihre Antwort, können Sie bitte erarbeiten, wie man Setze die Systemeigenschaft vor dem Start von JVM.Wenn ich das Programm als java -Dsun.locale.formatasdefault = true className ausführe, dann funktioniert es.Ich muss dies auf Anwendung, wo es eine Anzahl von Klassen gibt, dann wie ich das mache. – vish
Genau so würden Sie die Eigenschaft vor dem Start angeben. Sie können die Eigenschaft auch in Ihrer Umgebung einrichten, bevor Sie Ihr Programm oder IDE starten, oder sogar auf einer Pro-Level-Ebene *** innerhalb der IDE – Perception
danke Perception, ich bin sehr nah an der Antwort, aber mit wenig Verwirrung auf dies, so können Sie bitte, dass, wie SET SET sun.locale.formataadefault = True Windows in Umwelt-Eigenschaft dh, welche Datei geändert werden muss. – vish