Wo kommt ResourceBundle.getBundle("ResourceFile", new Locale("wir", "UNS")) suchen Sie nach der Datei?
Ich bin mit Eclipse und versuchen, zu erstellen ein einfaches test-Programm versuchen unser ResourceBundle mit ein paar anderen Dateien. Die Datei ist richtig benannt, als ResourceFile_us_US.Eigenschaften. Aber ich bin immer eine Ausnahme auf dem getBundle () - Aufruf, da es anscheinend nicht die Datei finden. Wo sollte es angesiedelt sein, damit es gefunden werden kann?
us_US? Wollen Sie en_US?
InformationsquelleAutor Craig A | 2010-02-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wissen Sie, java ist auf der Suche nach einer properties-Datei in einem bestimmten Gebietsschema. Sie können verwirrt, warum java hält Klagen Sie nicht finden können, eine properties-Datei, mit der rechten gibt. Ein paar Dinge im Auge zu behalten, wenn das Debuggen dieser Art von Fehler:
Diese resource properties-Dateien werden geladen, classloader, ähnlich zu java-Klassen. So müssen Sie, um Sie in Ihre runtime-classpath.
Haben diese Ressourcen vollständig-qualifizierten-resource-name, ähnlich wie ein fully-qualified-class-name, Auszug können Sie nicht importieren Sie eine Ressource in Ihrem java-Quellcode-Datei. Warum? weil sein name hat die form einer Zeichenfolge.
ResourceBundle.getBundle("config")
sagt der classloader zum laden einer Ressource namens"config"
mit Standard-Paket (also kein Paket). Es bedeutet NICHT, dass eine Ressource in das aktuelle Paket, dass hat der referenzierenden Klasse.ResourceBundle.getBundle("com.cheng.scrap.config")
sagt der classloader zum laden einer Ressource namens"config"
mit Paket"com.cheng.scrap."
Seinem voll-qualifizierten-resource-name ist"com.cheng.scrap.config"
Mehr : Kann nicht finden, bundle for base name com...config, locale zh_CN
Cheers.
InformationsquelleAutor tmwanik
Wenn Sie ein Paket erstellen
resources
und setzen Sie die Dateihello_en_US.properties
hinein, die hat den Inhalt:
drucken können Sie den Inhalt der Hallo, mit dem folgenden code:
InformationsquelleAutor Adil
Ich glaube, es sieht einfach in den classpath.
InformationsquelleAutor Alex Beardsley
Einer von zwei:
/src/resources
Stellen Sie sicher, dass Sie das Gebietsschema, in dem Namen des resource-bundle-Datei. e.g für Simbabwe, es wird ResourceBundle_en_ZW.Eigenschaften und Sie laden würde es als ResourceBundle resourceBundle = ResourceBundle.getBunndle("ResourceBundle", Locale.getDefault());
In Ihren Klassenpfad ein. Stellen Sie sicher, dass die calsspath Umgebungsvariable gesetzt ist
InformationsquelleAutor Shinx