我使用以下代码尝试读取属性文件:
Properties prop = new Properties();
ClassLoader loader = Thread.currentThread().getContextClassLoader();
InputStream stream = loader.getResourceAsStream("myProp.properties");
prop.load(stream);
我在最后一行得到了一个异常。具体地说:
Exception in thread "main" java.lang.NullPointerException
at java.util.Properties$LineReader.readLine(Properties.java:418)
at java.util.Properties.load0(Properties.java:337)
at java.util.Properties.load(Properties.java:325)
at Assignment1.BaseStation.readPropertyFile(BaseStation.java:46)
at Assignment1.BaseStation.main(BaseStation.java:87)
谢谢,尼科斯
发布于 2011-11-27 20:44:24
基于您的异常,InputStream
为空,这意味着类加载器找不到您的属性文件。我猜myProp.properties在你的项目的根目录中,如果是这样的话,你需要一个前面的斜杠:
InputStream stream = loader.getResourceAsStream("/myProp.properties");
发布于 2012-11-30 02:38:33
您可以在此页面上找到相关信息:
http://www.mkyong.com/java/java-properties-file-examples/
Properties prop = new Properties();
try {
//load a properties file from class path, inside static method
prop.load(App.class.getClassLoader().getResourceAsStream("config.properties"));
//get the property value and print it out
System.out.println(prop.getProperty("database"));
System.out.println(prop.getProperty("dbuser"));
System.out.println(prop.getProperty("dbpassword"));
}
catch (IOException ex) {
ex.printStackTrace();
}
发布于 2011-11-27 21:05:58
您可以使用ResourceBundle
类来读取属性文件。
ResourceBundle rb = ResourceBundle.getBundle("myProp.properties");
https://stackoverflow.com/questions/8285595
复制相似问题