首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Java中读取属性文件

在Java中读取属性文件
EN

Stack Overflow用户
提问于 2011-11-27 20:37:58
回答 13查看 394.4K关注 0票数 124

我使用以下代码尝试读取属性文件:

代码语言:javascript
复制
Properties prop = new Properties();
ClassLoader loader = Thread.currentThread().getContextClassLoader();           
InputStream stream = loader.getResourceAsStream("myProp.properties");
prop.load(stream);

我在最后一行得到了一个异常。具体地说:

代码语言:javascript
复制
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)

谢谢,尼科斯

EN

回答 13

Stack Overflow用户

回答已采纳

发布于 2011-11-27 20:44:24

基于您的异常,InputStream为空,这意味着类加载器找不到您的属性文件。我猜myProp.properties在你的项目的根目录中,如果是这样的话,你需要一个前面的斜杠:

代码语言:javascript
复制
InputStream stream = loader.getResourceAsStream("/myProp.properties");
票数 95
EN

Stack Overflow用户

发布于 2012-11-30 02:38:33

您可以在此页面上找到相关信息:

http://www.mkyong.com/java/java-properties-file-examples/

代码语言:javascript
复制
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();
}
票数 60
EN

Stack Overflow用户

发布于 2011-11-27 21:05:58

您可以使用ResourceBundle类来读取属性文件。

代码语言:javascript
复制
ResourceBundle rb = ResourceBundle.getBundle("myProp.properties");
票数 27
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8285595

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档