从 jar 中获取资源

2022-09-03 13:26:37

我有装有文件的罐子:

myJar/res/endingRule.txt
myJar/wordcalculator/merger/Marge.class

在Marge.java我有代码:


private static final String ENDINGS_FILE_NAME = "res/endingRule.txt";
....
InputStream inputStream  = getClass().getClassLoader().getResourceAsStream(ENDINGS_FILE_NAME);
.....

但在此输入之后,流为空。如何使用资源?为什么为空?

答案 1

要检索 jar 中的文件,请使用:

private static final String ENDINGS_FILE_NAME = "/res/endingRule.txt";
...
InputStream is = getClass( ).getResourceAsStream(ENDINGS_FILE_NAME);

答案 2

你的名字看起来不对 - 不正确的扩展名和错误的斜杠:

private static final String ENDINGS_FILE_NAME = "res/endingRule.txt";

推荐