【问题标题】:Read files from different Jars in java在java中从不同的jar中读取文件
【发布时间】:2017-08-29 00:11:37
【问题描述】:

我想从 JAR 中的属性文件中获取值。我有两个 Jar 文件。它们都在类路径中。

1- lib/seed.jar(有 common.properties)。

2- lib/span.jar(有 common.properties)。

两个 jar 具有相同的属性文件名称但具有不同的值

当我使用以下内容时:

InputStream input = getClass().getResourceAsStream("/common.properties");

它只能从第一个 jar 中读取,但我无法从第二个 jar 中读取值。如何让我的代码能够访问那些 jar 中的文件?

【问题讨论】:

标签: java jar


【解决方案1】:

这种方法会有效,使用getResources方法,比如:

Enumeration<URL> resources = Main.class.getClassLoader().getResources("client.xml");
    while (resources.hasMoreElements()){
        URL url = resources.nextElement();
        File file = new File(url.getFile());
        FileInputStream input = new FileInputStream(file);
        System.out.println(input);
    }

注意getResources的参数不是必须以/开头,否则该方法将无法得到正确的文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-15
    • 2012-11-22
    • 1970-01-01
    • 2018-06-04
    • 1970-01-01
    • 2011-03-23
    相关资源
    最近更新 更多