当前位置: 首页 > 面试题库 >

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

端木高卓
2023-03-14
问题内容

我有一堆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不存在。

我的疑问:

  1. 我只是想知道我是否允许读取位于MyJar.jar中的jrxml_file?
  2. 在读取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,如下所示:

  • 读取/转换InputStream为字符串


 类似资料:
  • 问题内容: 我在JAR文件中有一个文件。这,例如。 我该如何访问?我的源代码是: 问题答案: 您不能使用File,因为此文件在文件系统上并不独立存在。相反,您需要getResourceAsStream(),如下所示:

  • 我有一个zip文件(在一个jar文件中),我想读取init。我知道我可以使用getResourceAsStream(…)轻松读取txt文件,避免“URI不分层”错误。但现在确定我该如何为zip文件做到这一点。 下面是我的代码,但当我将代码导出到runnable jar并运行它时,它会抛出“URI非层次错误”。

  • 问题内容: 我想读取一个文件,该文件位于类路径中所包含的 之一内。我如何读取其中包含的任何文件? 问题答案: 如果要从应用程序内部读取该文件,请使用: 路径以“ /”开头,但这不是文件系统中的路径,而是类路径中的路径。因此,如果你的文件位于类路径“ org.xml”中,并且名为myxml.xml,则路径类似于“ /org/xml/myxml.xml”。 InputStream读取文件的内容。如果需

  • 在我的maven项目中,我有一个PDF文件,它位于文件夹中。我的函数从文件夹读取PDF文件,并根据用户的数据在文档中添加一些值。 此项目使用打包为文件,并在我的其他Spring Boot应用程序中用作依赖项。 在我的Spring启动项目中,我创建了将在PDF上执行一些工作的类的instace。一旦PDF文件上的所有工作都完成,并且当PDF文件保存在文件系统上时,它始终是空的(所有页面都是空白的)。

  • 问题内容: 我需要从文件中读取内容(它们都是变量,当然不是常量)。最简单的方法是什么? 问题答案: 这个怎么样:

  • 问题内容: 我们为我们的一个应用程序提供了一个连接池组件(JAR文件)。截至目前,应用程序连接详细信息捆绑在JAR文件中(在文件中)。 我们可以使其更通用吗?我们可以让客户端告诉属性文件详细信息(路径和文件名),然后使用JAR来获得连接吗? 客户端代码中包含以下内容是否有意义: 与此同时,客户端将指定(以某种方式???)属性文件详细信息,其中包含要连接的URL,超时等。 问题答案: http://