编程语言
首页 > 编程语言> > java-如何读取jar文件中的jrxml文件?

java-如何读取jar文件中的jrxml文件?

作者:互联网

我有一堆iReport源代码(jrxml)通过以下路径位于工作区中:

<project>/report/<jrxml_file>

当我将源代码打包到jar文件中时.我将拥有以下文件结构目录:

<jar_file>/report/<jrxml_file>

在我的源代码中,我具有以下代码来验证jrxml文件的存在:

File file = new File("report/jrxml_file");
if (!file.exists()) {
   return false;
}

当我通过命令执行此jar文件时:

java -jar MyJar.jar

我碰到一个错误提示,说特定的jrxml_file不存在.

我的疑问:

>我只是想知道我是否允许读取MyJar.jar中的jrxml_file?
>在读取jrxml_file之前,是否需要将其提取到物理目录中?

谢谢 @!

解决方法:

如果文件位于给定路径的jar顶部,则可以使用以下命令:

InputStream is = this.getClass().getResourceAsStream("/report/jrxml_file");

请参阅Java类文档:

> http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html#getResourceAsStream(java.lang.String)

从那里,您可以将其作为任何其他InputStream读取,例如使用Apache IOUtils,如下所示:

> Read/convert an InputStream to a String

标签:java,jasper-reports
来源: https://codeday.me/bug/20191010/1885054.html