roger_that roger_that - 17 days ago 5
Java Question

java.util.MissingResourceException: Can't find bundle for base name 'property_file name', locale en_US

I am trying to create a utility class

ReadPropertyUtil.java
for reading data from property file. While my class is located under a util directory , my
skyscrapper.properties
file is placed in some other directory.

But , when i try to access the properties using
[ResourceBundle][1]
, i get exceptions, that bundle can't be loaded.

Below is the code on how I am reading the properties and also an image which shows my directory structure.

ReadPropertiesUtil.java

/**
* Properties file name.
*/
private static final String FILENAME = "skyscrapper";

/**
* Resource bundle.
*/
private static ResourceBundle resourceBundle = ResourceBundle.getBundle(FILENAME);

/**
* Method to read the property value.
*
* @param key
* @return
*/
public static String getProperty(final String key) {
String str = null;
if (resourceBundle != null) {
str = resourceBundle.getString(key);
LOGGER.debug("Value found: " + str + " for key: " + key);
} else {
LOGGER.debug("Properties file was not loaded correctly!!");
}
return str;
}


Directory Structure

enter image description here

This line is giving the error
private static ResourceBundle resourceBundle = ResourceBundle.getBundle(FILENAME);


I am unable to understand why isn't this working and what is the solution. The
src
folder is already added in build path completely.

Answer

Try with the fully qualified name for the resource:

private static final String FILENAME = "resources/skyscrapper";