我正在尝试使用以下 java 代码在相对路径中检索 jrxml 文件:
String jasperFileName = "/web/WEB-INF/reports/MemberOrderListReport.jrxml";
File report = new File(jasperFileName);
FileInputStream fis = new FileInputStream(report);
但是,很可能我没有成功定义相对路径并在执行过程中收到 java.io.FileNotFoundException: 错误。
由于我对Java I/O操作经验不太丰富,所以我没有解决我的问题。欢迎任何帮助或想法。
最佳答案
您尝试将 jrxml
文件视为文件系统上的对象,但这不适用于 Web 应用程序内部。
您不知道应用程序将如何或在何处部署,因此您无法将文件
指向它。
相反,您想使用 ServletContext
中的 getResourceAsStream
。类似于:
String resourceName = "/WEB-INF/reports/MemberOrderListReport.jrxml"
InputStream is = getServletContext().getResourceAsStream(resourceName);
这就是你所追求的。
关于java - FileInputStream 和 FileNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9681582/