在我的程序中,当我转到dist文件夹并使用以下命令运行Project.jar
时,在NetBeans上编写的Java8应用程序库:
java -jar Project.jar
我收到以下错误:
Sorry, unable to find config.properties
Exception in thread "main" java.lang.NullPointerException
似乎无法创建读取属性文件所需的输入流。
这是我用来读取属性的类:
public class PropertyAccess {
public static String getPropertyFromFile(String propertyName){
String ret = "";
//System.out.println(propertyName);
InputStream input = null;
Properties prop = new Properties();
try {
String filename = "config.properties";
input = PropertyAccess.class.getResourceAsStream(filename);
if(input == null) {
System.out.println("Sorry, unable to find " + filename);
}
//input = PropertyAccess.class.getResourceAsStream("/config/config.properties");
//input = new FileInputStream("config/config.properties");
input = PropertyAccess.class.getClassLoader().getResourceAsStream("config/config.properties");
prop.load(input);
ret = prop.getProperty(propertyName);
} catch (IOException ex) {
ex.printStackTrace();
} finally {
if (input != null) {
try {
input.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return ret;
}
}
每次我需要从文件中读取属性时都会加载prop文件,这是一个糟糕的设计/实现,这将在主要版本之前得到纠正,但这不是导致问题的原因。
有人可以解释如何解决这个问题吗?
我尝试将文件添加到类路径中,但它也无法正常工作。