我正在尝试创建一个实用程序类ReadPropertyUtil.java,用于从属性文件中读取数据.虽然我的类位于util目录下,但我的skyscrapper.properties文件放在其他目录中.
但是,当我尝试使用[ResourceBundle] [1]访问属性时,我得到异常,无法加载该包.
下面是我如何阅读属性的代码,以及显示我的目录结构的图像.
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;
}
目录结构
这一行给出了错误私有的静态ResourceBundle resourceBundle = ResourceBundle.getBundle(FILENAME);
我无法理解为什么这不起作用,解决方案是什么. src文件夹已完全添加到构建路径中.
解决方法:
尝试使用资源的完全限定名称:
private static final String FILENAME = "resources/skyscrapper";