bwagner
bwagner

Reputation: 1029

Java Properties File not loading

I need a configuration file in my program to store some information, I saw some examples of properties files and was trying to use them but whenever I try this second line on NetBeans i get 'Package sortConfig doesn't exist' '<identifier> Expected' and 'Illegal start of type'.

The problem is I already saw some 10 examples all doing this in the same way, and I have no clue to what's going on.

Properties sortConfig = new Properties();

sortConfig.load(this.getClass().getClassLoader().getResourceAsStream("sortConfig.properties"));

Any help would be appreciated

my .java classes and my properties file are on the src, inside the same package folder

Upvotes: 0

Views: 7110

Answers (2)

CoolBeans
CoolBeans

Reputation: 20810

It looks like you do not have the fully qualified path to your properties file. You can get to it in 2 ways:-

  1. Using java.util.ResourceBundle:

ResourceBundle bundle =ResourceBundle.getBundle("br.com.example.sortConfig"); //.properties is implied

or

  1. Using ClassLoader.getResouceAsStream:
sortConfig.load(this.getClass().getClassLoader().getResourceAsStream("br/com/example/sortConfig.propertie"));

For a good tutorial on how to load properties files resources check out this link.

Upvotes: 1

biziclop
biziclop

Reputation: 49804

An alternative could be to use this.getClass().getResourceAsStream() which accepts relative pathnames (relative to the package your class is in, that is), so you could simply write

sortConfig.load(this.getClass().getResourceAsStream("sortConfig.properties"));

This is useful when you specifically want to rely on your class and properties file being in the same package. (So when you move one during a refactoring, you'll have to move the other too.)

Upvotes: 0

Related Questions