我正在从我的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"
这两种方法都不起作用。我 读 众多 问题到目前为止在这个主题上,但没有一个是有帮助的-通常,他们只是说使用根路径加载文件,我已经在做了。或者只是从当前目录加载文件(只是加载filename
),我也尝试过。该文件将被编译到JAR中的适当位置,并具有适当的名称。
我怎么解决这个问题?