加载属性文件的Java NullPointerException

时间:2012-01-12 16:57:29

标签: java nullpointerexception

public class SupplierCalculatorApplet extends JApplet{
...
public void init(){
    loadProperties();
    ...
}   

...

private void loadProperties() {
    language = "en-us";//getParameter("Language");
    prop = new Properties();
            try {
                URL urlToProps = this.getClass().getResource("config/" + language + ".properties");
                prop.load(urlToProps.openStream());//Exception Caught Here
            } catch (IOException e) {
            }   
}

在上述行中发现异常。无论语言是否是有效的属性文件,我都会在同一行中捕获相同的异常。

2 个答案:

答案 0 :(得分:4)

你没有给我们很多工作,但我的猜测是urlToPropsnull,因为Class#getResource如果资源不是null则返回urlToProps.openStream()找不到,但你没有在图片代码中进行防御性检查。所以{{1}}部分会抛出一个NPE。

答案 1 :(得分:2)

更改为:

prop.load(this.getClass().getResourceAsStream("/config/" + language + ".properties"));