我正在从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的适当位置。
我该如何解决?
Lifepaths.getClass()
吗?在Object ...中没有定义这样的静态方法