首页 >Java >java教程 >如何从 Java 桌面应用程序访问嵌入在 JAR 中的 XML 文件?

如何从 Java 桌面应用程序访问嵌入在 JAR 中的 XML 文件?

Barbara Streisand
Barbara Streisand原创
2024-12-06 21:12:20402浏览

How to Access an XML File Embedded in a JAR from a Java Desktop Application?

从 Java 桌面应用程序访问 JAR 文件中的 XML 文件

在此场景中,您尝试访问 JAR 文件中的 XML 文件来自作为桌面应用程序运行的单独 JAR 的 JAR 文件。虽然您已成功获取文件的 URL,但使用 String 将其传递给 FileReader 会导致 FileNotFoundException。

但是,您已经能够使用带有 ImageIcon 的 URL 从同一 JAR 读取图像资源构造函数。这表明您用于获取 URL 的方法是正确的。

URL url = getClass().getResource("/xxx/xxx/xxx/services.xml");
// ...

尝试解析 XML 文件时出现问题:

XMLReader xr = XMLReaderFactory.createXMLReader();
xr.setContentHandler( this );
xr.setErrorHandler( this );
xr.parse( new InputSource( new FileReader( filename )));

解决方案:

读取 XML 文件的错误方法是使用 new FileReader( filename )。要纠正此问题,请使用 java.lang.Class.getResourceAsStream(String) 方法。它为名称指定的资源提供一个InputStream,允许您读取XML文件。

URL url = getClass().getResourceAsStream("/xxx/xxx/xxx/services.xml");
// ...

以上是如何从 Java 桌面应用程序访问嵌入在 JAR 中的 XML 文件?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn