Können wir geben Sie den Verzeichnispfad mit der Eigenschaft-Datei während der Verwendung von ResourceBundle-Klasse in Java?
Möchte ich meine properties-Dateien in einem Ordner, aber ich bin nicht in der Lage, Sie zu Lesen, weil wir geben Sie nur den Namen des Bundles in statische getBundle()
Methode auf ResourceBundle Objekt.
Angenommen bundle: myFile.Eigenschaften
Aktuelle Pfad ist: src
Ich will, dass meine properties-Datei in: src/temp
So, wenn ich Sie benutze:
ResourceBundle.getBundle("temp/myfile", currentLocale);
ist es eine Ausnahme "nicht finden können-bundle". Ich möchte einige Wege, um den Pfad anzugeben. Bitte machen Sie mir einige Weg, dies zu tun.
Danke
InformationsquelleAutor R. Rahul | 2010-08-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden:
Den
baseName
geliefert inResourceBundle.getBundle
nennen, soll es sich um einen vollständig qualifizierten Klassennamen. Es muss also geschrieben werden, getrennt mit Punkten. Beachten Sie auch, dass diese machttemp
Paket in Ihr java-code (was ich nicht denke ist eine gute Idee). Es ist besser, legen Sie die properties-Datei in einem richtigen Paket wiecom.xyz.abc
. Dann können Sie für den Zugriffwenn ich sage "myFile.Eigenschaften" in ein treffender Paket, das noch fehlt @ laufen. Ich habe es, wie Sie vorschlagen : "com.xyz.myFile" Hat diese Werke für Euch
Brauche ich zu erwähnen, etwas, das in der property-Datei, kommentieren oder mit Anmerkungen?
Ich habe die Dateinamen verwechselt. Mit den richtigen Dateinamen, sollte es funktionieren.
Ich habe eine Datei "tagValue.Eigenschaften" kopiert in "src" und "src" /temp" - Verzeichnis, aber wenn ich Sie benutze :- bundle = ResourceBundle.getBundle("tagValue"); es funktioniert aber, wenn ich Sie benutze :- bundle = ResourceBundle.getBundle("temp.tagValue"); wirft er "java.util.MissingResourceException: Can ' T find bundle for base name temp.tagValue"
InformationsquelleAutor Abhinav Sarkar
Ist es möglich, dass Sie mit dem falschen Dateinamen (myfile != myFile).
Für eine Datei
myFile.properties
in einem Verzeichnistemp
im classpath befinden, sollte dieser code funktionieren:überprüfen Sie Ihren classpath. Ich erwarte, dass mit Ihr ClassLoader ist
getResource("/temp/tagValue.properties");
Methode schlägt auch fehl (Rückgabewert null). Es ist nicht möglich, das problem zu diagnostizieren, ohne weitere Informationen über Ihre runtime-Umgebung (classpath Argumente, Klasse binäre Standorte, etc).Ja, Herr McDowell, Sie haben Recht, Ihre mir null("temp/tagValue.Eigenschaften"), aber wenn ich benutze es mit ("tagValue.Eigenschaften"), sein gibt mir den absoluten Pfad für die Datei. okey jetzt habe ich das problem. Vielen Dank.
InformationsquelleAutor McDowell