Can we specify directory path with the property file while using ResourceBundle class in Java?

R. Rahul picture R. Rahul · Aug 30, 2010 · Viewed 15.8k times · Source

I want to place my properties files in some folder, but I am not able to read them because we can specify only the bundle name in static getBundle() method on ResourceBundle object.

Suppose bundle is: myFile.properties
Current path is: src
I want to keep my properties file in: src/temp

So when I am using:

ResourceBundle.getBundle("temp/myfile", currentLocale);

it is throwing an exception "can't find bundle". I want some way to specify the path. Please suggest me some way to do this.

Thank you

Answer

Abhinav Sarkar picture Abhinav Sarkar · Aug 30, 2010

Use this:

ResourceBundle.getBundle("temp.myfile", currentLocale);

The baseName supplied in the ResourceBundle.getBundle call is supposed to be a fully qualified class name. So it has to be written separated with dots. Also note that this makes temp a package in your java code (which I don't think is a good idea). It is better to put the properties file in a proper package like com.xyz.abc. Then you can access it using

ResourceBundle.getBundle("com.xyz.abc.myfile", currentLocale);