【问题标题】:Parsing a .properties file with getClassLoader()使用 getClassLoader() 解析 .properties 文件
【发布时间】:2015-03-04 08:48:05
【问题描述】:

我正在编写一个 Java 程序,它接受一个 foo.properties 文件并将其解析为一个 Properties 对象。经过快速搜索,我找到了这段代码:

public Properties getProperties() throws IOException{
    String fileIn = "foo.properties";
    Properties p = new Properties();
    InputStream inStream = getClass().getClassLoader().getResourceAsStream(fileIn);

    if(inStream != null) {
        p.load(inStream);
    } else throw new FileNotFoundException();

    return p;
}

我的问题与第 4 行有关:为什么上面的代码使用InputStream inStream = getClass().getClassLoader().getResourceAsStream(fileIn),而不是简单地使用FileinputStream fInStream = new FileInputStream(fileIn)

【问题讨论】:

    标签: java inputstream properties-file


    【解决方案1】:

    getResourceAsStream() 可以从类路径而不是绝对位置加载文件。参考this excellent article

    【讨论】:

    • 谢谢你,这篇文章非常详尽和清晰。
    【解决方案2】:

    即使你的程序在 JAR repo 中,你也可以加载 .properties 文件

    【讨论】:

      猜你喜欢
      • 2011-02-18
      • 2012-10-07
      • 1970-01-01
      • 2012-01-17
      • 1970-01-01
      • 2013-11-28
      • 2016-07-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多