DeepJVM
DeepJVM

Reputation: 87

correct way to read properties file

I am having trouble finding out the right way to load a properties file. The structure is : Inside src/com.training , I have my class and the properties file as well. I have to read it using the absolute path as shown in the code below to get it to work:

Properties prop = new Properties();
InputStream input = null;
input = new FileInputStream("D:/Dev/workspace/Training/src/com/training/consolemessages.properties");                 
prop.load(input);
System.out.print(prop.getProperty("INITIAL_MESSAGE"));

How can I use the relative path to work in this code for accessing the properties file. The properties file and the class which is accessing are both at the same level '/src/com.training'

Upvotes: 2

Views: 1613

Answers (1)

Martin Hansen
Martin Hansen

Reputation: 2101

You could put your properties files into src/resources folder, and fetch them on classpath.

You could do something like this:

ResourceBundle bundle = ResourceBundle.getBundle("resources/consolemessages");

System.out.println(bundle.getString("INITIAL_MESSAGE"));

When using ResourceBundle, Locale support is also easy to implement, should you need to have language specific properties.

Upvotes: 3

Related Questions