【发布时间】:2014-08-21 14:52:43
【问题描述】:
我正在尝试读取位于我的代码的 jar 文件外部的属性。使用 ResourceBundle 但它无法读取属性文件 locations.properties。属性文件位于resource文件夹下,jar和resource文件夹在同一目录下。
myDir
--> myJar.jar
--> resource
-->locations.properties
我不知道下面的代码有什么问题:
public static ResourceBundle getResourceBundle(String fileName) throws MalformedURLException{
if (resourceBundle == null) {
File file = new File("resource/"+fileName);
URL[] urls = { file.toURI().toURL() };
ClassLoader loader = new URLClassLoader(urls);
resourceBundle = ResourceBundle.getBundle(fileName, Locale.getDefault(), loader);
}
return resourceBundle;
}
这就是我调用ResourceBundle对象的方式:
ResourceBundle locationBundle = null;
try {
locationBundle = ReadPropertyUtil.getResourceBundle(propFileName);
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
请指导这段代码有什么问题以及读取外部属性文件的正确方法是什么。
【问题讨论】:
标签: java resourcebundle properties-file