Java JasperReport FileNotFound异常,I';我错过了什么?
我正试图创建一个基于Jasper示例jrxml的简单报告 JRXML文件位于resources文件夹下,作为maven项目,类似于Java JasperReport FileNotFound异常,I';我错过了什么?,java,file,io,jasper-reports,Java,File,Io,Jasper Reports,我正试图创建一个基于Jasper示例jrxml的简单报告 JRXML文件位于resources文件夹下,作为maven项目,类似于 main/ java/ resources/FirstJasper.jrxml web/ 到目前为止我写了这个, 我还尝试了File File=new文件(“FistJasper.jrxml”) publicstaticvoidinitreport(){ 试一试{ File File=new文件(“D:\\Development\\Work
main/
java/
resources/FirstJasper.jrxml
web/
到目前为止我写了这个,
我还尝试了File File=new文件(“FistJasper.jrxml”)代码>
publicstaticvoidinitreport(){
试一试{
File File=new文件(“D:\\Development\\Workspace\\Joao's Workspace\\Studium\\src\\main\\resources\\FistJasper.jrxml”);
InputStream InputStream=新文件InputStream(文件);
Map params=新的HashMap();
JasperReport-JasperReport=JasperCompileManager.compileReport(inputStream);
LOGGER.warn(“JASPER:,jasperReport.getName());
LOGGER.warn(“JASPER:,inputStream.read());
}捕获(IOE异常){
e、 printStackTrace();
}捕获(JRE异常){
e、 printStackTrace();
}
}
我在InputStream InputStream=new FileInputStream(文件)上遇到FileNotFound异常
我是否缺少读取文件的一些步骤,或者有其他方法可以将正确路径传递给Jasper?您需要使用getResourceAsStream
here@KonstantinV.Salikhov像这样<代码>InputStream InputStream=this.getClass().getResourceAsStream(“FistJasper.jrxml”)代码>是的,类似的。它将从ClassPath加载文件您的输入错误是FirstJasper而不是firstYeah,很抱歉,我更正了,仍然是空指针,然后我尝试了这个,InputStream InputStream=this.getClass().getResourceAsStream(“/FirstJasper.jrxml”)代码>空指针不见了!谢谢
public static void initReport() {
try {
File file = new File("D:\\Development\\Workspace\\Joao's Workspace\\Studium\\src\\main\\resources\\FistJasper.jrxml");
InputStream inputStream = new FileInputStream(file);
Map params = new HashMap<>();
JasperReport jasperReport = JasperCompileManager.compileReport(inputStream);
LOGGER.warn("JASPER: ", jasperReport.getName());
LOGGER.warn("JASPER: ", inputStream.read());
} catch (IOException e) {
e.printStackTrace();
} catch (JRException e) {
e.printStackTrace();
}
}