从jar获取资源

我有文件jar:

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); ..... 

但是在这个inputStream为null之后。 如何使用资源? 为什么空?

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

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

你的名字看起来不对 – 错误的扩展名错误的斜杠:

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

\被解释为转义字符而不是目录分隔符。 文件名也是关闭的。 尝试:

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

使用:

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