从 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中文网其他相关文章!