Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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

like image 421
R. Rahul Avatar asked Aug 30 '10 06:08

R. Rahul


2 Answers

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);
like image 106
Abhinav Sarkar Avatar answered Nov 09 '22 19:11

Abhinav Sarkar


It is possible that you are using the wrong filename (myfile != myFile).

For a file myFile.properties in a directory temp on the classpath, this code should work:

ResourceBundle.getBundle("temp.myFile");
like image 21
McDowell Avatar answered Nov 09 '22 20:11

McDowell