gpt4 book ai didi

java - 如何链接本地文件

转载 作者:行者123 更新时间:2023-12-02 05:47:54 25 4
gpt4 key购买 nike

我正在尝试使用一个本地文件,在其中指定了名为 dao.properties 的数据库连接属性。我正在这样进行:

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

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

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

enter image description here

dao.properties就在dao包下。

请问我该如何解决这个问题?

最佳答案

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

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

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

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

更新:

假设您将文件名notes.txt放在名为“sub”的文件夹(包)中,这是有效的示例,仅用于如何获取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 添加更多相关信息

关于java - 如何链接本地文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23871889/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com