getResourceAsStream 返回 null
我正在从我的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"
这些都不起作用。到目前为止,我已经阅读了有关该主题的许多问题,但没有一个有帮助 - 通常,它们只是说使用根路径加载文件,我已经在这样做了。那,或者只是从当前目录加载文件(只是加载),我也尝试过。该文件正在编译到 JAR 中具有适当名称的适当位置。filename
我该如何解决这个问题?