如何链接本地文件

时间:2014-05-26 13:59:50

标签: java

我尝试使用本地文件,其中我已经指定了名为dao.properties的数据库连接属性。而且我正在这样做:

InputStream fichierProperties = classLoader.getResourceAsStream( "/src/dao/dao.properties" );

但是,在使用此路径时,我收到一条异常,指出调试器无法找到该文件。

以下是我项目中的一些软件包:

enter image description here

dao.properties就在dao包之下。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

如果将文件放在src文件夹中,IDE可能会在指示编译和构建时将文件打包到捆绑生成的jar中。因此,您可以使用GetResourceAsStream方法进行操作。

因此,如果将文件(dao.properties)放在源文件的根文件夹(通常是src文件夹)中,只需简单引用dao.properties即可引用该资源。

如果您将文件放在src的子文件夹中,引用它的正确方法是subfolder / dao.properties。

第一个"/"不是必需的,因为getResourceAsStream总是在classpath中搜索,默认情况下是jar文件夹中来源文件夹的根目录。 (哪里不谈论外部文件!)

更新

假设您将文件名notes.txt放在名为'theub'的文件夹(包)中,这是有效的示例,仅适用于如何获取jar中的捆绑文件。

public class Main {

public static void main (String[] args) throws IOException {
    InputStream is = Main.class.getResourceAsStream("sub/notes.txt");
    InputStreamReader isr = new InputStreamReader(is);
    BufferedReader br = new BufferedReader(isr);
    String s = br.readLine();
    while (s != null) {
        System.out.println (s);
        s = br.readLine();
    }
    is.close();
}
}

我通过参考此post

添加了有关此内容的更多信息

仍然不知道为什么投票。 对于匿名downvoter,请考虑添加有用或更丰富的信息。