gpt4 book ai didi

java - getResourceAsStream 方法的相对路径

转载 作者:行者123 更新时间:2023-12-01 14:47:38 25 4
gpt4 key购买 nike

我有一个通过ant构建的java项目。它将类文件写入output/classes/com/...路径。我的一个 java 类需要从输出文件夹上一级文件夹中的文件读取输入流。看起来如果将文件复制到 outptu/classes 下的包文件夹中,它似乎可以工作。但我不想将我的配置文件放在输出文件夹中,因为当我执行 ant clean 时它会被清理。我希望它在配置文件夹中的输出文件夹上方找到它并加载它。

public static final String CONFIG_FILE="/../../../../../../../Config.txt";

public static ConfigObj getConfigObj() throws IOException {

InputStream i=ConfigLoader.class.getResourceAsStream(CONFIG_FILE);

...

我想知道当我想要给出 raltivepath 时,它应该相对于什么。我尝试查找,它说相对于类加载器。在这种情况下,类加载器是什么?我的ConfigLoader.class所在的文件夹是output/classes/com....../config吗?

最佳答案

问题是 getResourceAsStream() 只会从类路径加载资源。我猜您的类路径上只有 output/classes ,因此如果配置文件位于该目录之外,您将永远无法通过 getResourceAsStream() 加载配置文件。使用带有指向该文件的绝对路径的File,或者将其放置在类路径中。

关于java - getResourceAsStream 方法的相对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15257599/

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