2010-01-12 4 views

ответ

1

FileNotFoundException Как правило, файл отсутствует. Получите путь от вашего кода и вставьте его в свой проводник файловой системы и посмотрите, существует ли он.

Если это произойдет, то это означает, что по какой-то причине недоступного:

Это исключение будет выброшен конструкторами FileInputStream, FileOutputStream и RandomAccessFile, когда файл с указанным пути не существует. Он также будет брошен этими конструкторами, если файл существует, но по какой-то причине недоступен, например, когда предпринимается попытка открыть файл только для чтения для записи.

1

Вы должны всегда использовать абсолютные пути в Java IO. Очевидно, тот, который вы пробовали, был просто неправильным. Возможно, вы только что догадались об этом, основываясь на местоположении развертывания webapp. Вы не должны этого делать. Если файл jrxml на самом деле находится в webcontent, вы можете использовать ServletContext#getRealPath(), чтобы преобразовать относительный веб-путь в путь абсолютной дисковой файловой системы, который вы, в свою очередь, можете использовать в обычном Java IO.

Предполагая, что file.jrxml находится в корневом каталоге WebContent (например, доступной http://example.com/contextname/file.jrxml), вот пример:

String absolutePath = getServletContext().getRealPath("file.jrxml"); 
File file = new File(absolutePath); 
0

Это зависит от того, как вы даете ему ссылку на файл. Рассматривая документацию для JRXmlLoader http://jasperreports.sourceforge.net/api/net/sf/jasperreports/engine/xml/JRXmlLoader.html , вы можете увидеть, что вы можете передать ее в ссылку на объект File. Вероятно, вы просто проходите в строке, и это может быть неправильно.

Попробуйте что-нибудь вроде String path = "/tmp/test.jrmxl"; Файл jrxmlFile = new Файл (путь); JasperDesign jasperDesign = JRXmlLoader.load (jrxmlFile); с соответствующей попыткой/уловкой и многое другое, а затем отлаживать файл сначала, прежде чем беспокоиться о загрузчике.

Возможно, вы должны получить некоторые из документации jasperreports. Книги очень хороши для этого основного материала.

Смежные вопросы