0

我正在尝试从 jar 文件中加载属性文件,但无法这样做。以下是我正在加载文件的类的代码

public class PropertyClass {
    private static Properties properties;

    public String getProperty(String propertyName)  {
        try {
            InputStream inputStream =   this.getClass().getClassLoader().getResourceAsStream("resources/test.properties");

            System.out.println("Input Stream " + inputStream);
            properties.load(inputStream);

            inputStream.close();
            if (properties == null) {
                System.out.println("Properties null");
            }
        } catch (IOException e){
            e.printStackTrace();
        }
        return properties.getProperty(propertyName);
    }
}

类文件和属性文件都打包在 jar 中。但是当我尝试从另一种方法加载文件时,它会出现以下错误:-

Input Stream - sun.net.www.protocol.jar.JarURLConnection$JarURLInputStream@9304b1
Exception in thread "main" java.lang.NullPointerException
at PropertyClass.getProperty(PropertyClass.java:16)

它不会将输入流显示为 null 以下位是我的代码中的第 16 行 - properties.load(inputStream);

对此有任何帮助

4

1 回答 1

3

您需要先初始化Properties对象,然后才能调用properties.load()

private static Properties properties = new Properties();
于 2013-08-23T10:29:43.883 回答