我正在从我的 Java 项目的已编译 JAR 的包中加载一个文本文件。相关目录结构如下:
/src/initialization/Lifepaths.txt
我的代码通过调用Class::getResourceAsStream
返回一个InputStream
.
public class Lifepaths {
public static void execute() {
System.out.println(Lifepaths.class.getClass().
getResourceAsStream("/initialization/Lifepaths.txt"));
}
private Lifepaths() {}
//This is temporary; will eventually be called from outside
public static void main(String[] args) {execute();}
}
null
无论我使用什么,打印出来的内容都会一直打印出来。我不确定为什么上述方法不起作用,所以我也尝试过:
"/src/initialization/Lifepaths.txt"
"initialization/Lifepaths.txt"
"Lifepaths.txt"
这些都不起作用。到目前为止,我已经 阅读 了许多 关于该主题的问题,但没有一个有帮助 - 通常,他们只是说使用根路径加载文件,我已经在这样做了。那,或者只是从当前目录加载文件(只是 load filename
),我也尝试过。该文件正在以适当的名称编译到适当位置的 JAR 中。
我该如何解决这个问题?