Können wir Verzeichnispfad mit der Eigenschaft Datei angeben, während Resource Klasse in Java verwenden?
-
02-10-2019 - |
Frage
Ich mag meine Dateien in einigen Ordnern platzieren, aber ich bin nicht in der Lage, sie zu lesen, weil wir nur die Paketnamen in statischer getBundle()
Methode auf Resource Objekt angeben können.
Angenommen Bundle ist: myFile.properties
Aktuelle Pfad ist: src
Ich möchte meine Eigenschaften Datei halten in: src / temp
Also, wenn ich benutze:
ResourceBundle.getBundle("temp/myfile", currentLocale);
es wirft eine Ausnahme „nicht Bündel finden“. Ich möchte einen Weg den Pfad angeben. Bitte machen Sie mir einen Weg, dies zu tun.
Danke
Lösung
Verwenden Sie diese:
ResourceBundle.getBundle("temp.myfile", currentLocale);
Die baseName
im ResourceBundle.getBundle
Anruf geliefert soll ein vollständig qualifizierten Klassennamen sein. So ist es geschrieben werden muss mit Punkten getrennt. Beachten Sie auch, dass dies macht ein Paket in Ihrem Java-Code temp
(was ich nicht glaube, ist eine gute Idee). Es ist besser, die Eigenschaften Datei in einem geeigneten Paket wie com.xyz.abc
zu setzen. Dann können Sie darauf zugreifen mit
ResourceBundle.getBundle("com.xyz.abc.myfile", currentLocale);
Andere Tipps
Es ist möglich, dass Sie die falschen Dateinamen verwenden (myfile! = MyFile).
Für eine Datei myFile.properties
in einem Verzeichnis temp
auf dem Classpath, sollte dieser Code funktionieren:
ResourceBundle.getBundle("temp.myFile");