2015-02-21 3 views
0

Мне трудно получить доступ к файлу внутри моей папки war из кода в моем веб-проекте java.доступ к файлу внутри папки войны из кода

Это моя структура файла

enter image description here

код Java Я использую внутри пакета com.abl.tf.dao.

Я пытаюсь получить доступ к файлу testreport.jrxml, который находится внутри папки war->reports.

Это то, что я пробовал, и это дает мне исключение file not found.

net.sf.jasperreports.engine.design.JasperDesign design = JRXmlLoader.load(
        new LegacyJasperInputStream(new FileInputStream("/TFProject/reports/testreport.jrxml")) 
        ); 

Не могли бы вы помочь мне получить доступ к этому файлу из кода.

Заранее благодарен!

ответ

0

Вам необходимо получить доступ к файлу в качестве ресурса. Вы делаете это так:

net.sf.jasperreports.engine.design.JasperDesign design = JRXmlLoader.load(new LegacyJasperInputStream(getServletContext().getResourceAsStream("/reports/testreport.jrxml")); 
+0

, в котором находится банкомат библиотеки. Я нахожусь в проекте Spring. – vigamage

+0

, и я не кодирую внутри страницы jsp. это внутри java-кода. – vigamage

+0

Если вы используете Spring, вы можете получить такой контекст сервлета: @Autowired ServletContext servletContext; –