Как получить файл Java / ресурсов для InputStream? - PullRequest
0 голосов
/ 05 июля 2019

У меня есть файл Excel в src / main / resources (/ resources / files / templates).Я хочу прочитать это в InputStream.Я не нахожу правильный синтаксис для этого.

String fn = "/resources/files/censusTemplates/SimpleStandardTemplate.xlsm";

    try {
        InputStream inputStream = new URL("file:///"  + fn).openStream();

Выше не работает.Я думаю, что путь неправильный.Как правильно указать путь к файлам, хранящимся в ресурсах?

Ответы [ 2 ]

0 голосов
/ 05 июля 2019

Если вы используете какой-либо метод (статический или нестатический):

String fn = "/resources/files/censusTemplates/SimpleStandardTemplate.xlsm";
InputStream in = Clazz.class.getResourceAsStream(fn);

Где Clazz - имя класса, в котором вы находитесь.


Если вы используете нестатический метод:

String fn = "/resources/files/censusTemplates/SimpleStandardTemplate.xlsm";
InputStream in = getClass().getResourceAsStream(fn);
0 голосов
/ 05 июля 2019

Этот работает для меня.

InputStream is = YourClass.class.getClassLoader().getResourceAsStream("relative path to your file starting from resources folder");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...