Können wir Verzeichnispfad mit der Eigenschaft Datei angeben, während Resource Klasse in Java verwenden?

StackOverflow https://stackoverflow.com/questions/3598240

  •  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

War es hilfreich?

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");
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top