Ответ 1
Чтобы извлечь файл внутри банки, используйте:
private static final String ENDINGS_FILE_NAME = "/res/endingRule.txt";
...
InputStream is = getClass( ).getResourceAsStream(ENDINGS_FILE_NAME);
У меня есть 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);
.....
But after this inputStream is null. How to work with resources? Why null?
Чтобы извлечь файл внутри банки, используйте:
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";
\
интерпретируется как escape-символ, а не разделитель каталогов. Имя файла также отключено. Попробуйте:
private static final String ENDINGS_FILE_NAME = "res/endingRule.txt";
использование:
private static final String ENDINGS_FILE_NAME = "res\\endingRule.txt";