У меня есть следующие структуры в веб-приложения Java:getResourceAsStream() всегда возвращается нуль
TheProject
-- [Web Pages]
-- -- [WEB-INF]
-- -- -- abc.txt
-- -- index.jsp
-- [Source Packages]
-- -- [wservices]
-- -- -- WS.java
В WS.java
, я использую следующий код в веб-метода:
InputStream fstream = this.getClass().getResourceAsStream("abc.txt");
Но он всегда возвращает нуль. Мне нужно прочитать из этого файла, и я прочитал, что если вы поместите файлы в WEB-INF
, вы можете получить к ним доступ с getResourceAsStream
, но метод всегда возвращает null
.
Любые идеи о том, что я могу делать неправильно?
Btw, странное дело в том, что это работает, но после того, как я выполнил Clean and Build
по проекту, он вдруг перестал работать:/
+1 Cheers mate, это сработало. Я переместил файл в 'wservices' и теперь его работаю –
Если вы используете Eclipse, вам также нужно нажать« F5 »(обновить), чтобы ваш« abc.txt »появился в проводнике пакетов, иначе getResource() всегда возвращает null , –
Я обнаружил, что модульные тесты были более прощающими для местоположения файла в Eclipse/maven, но когда они были упакованы и развернуты, файл работал только тогда, когда я переместил его, чтобы он соответствовал местоположению класса, как рекомендовал этот ответ. –