java - 从jar中读取xml文件

标签 java xml jakarta-ee

我正在尝试从部署到 dm-server 的 jar 文件中读取 xml 配置

这是代码

Reader fileReader = null;
try {
 fileReader = new FileReader("test.xml");
} catch (FileNotFoundException fnfex) {
 fnfex.printStackTrace();
} catch (IOException ioex) {
 ioex.printStackTrace();
}

如果我只编写一个不带 jar 和 dm-server 的 junit 测试,我就能够阅读它。

测试被打包到 jar 中并位于 jar 文件的根目录中。

请帮忙!!!!

谢谢, 一个

最佳答案

您需要使用类的 getResourcegetResourceAsStream从 jar 中读取文件的方法。

可以这样做:

Reader fileReader = null;

InputStream is = this.getClass().getResourceAsStream("/test.xml");
if (null != is) {
    fileReader = new InputStreamReader(is);
}

请注意 getResourceAsStream如果找不到文件,则返回 null。

编辑: 将 test.xml 更正为/test.xml

另请注意 Class<T> getResourceAsStream 的版本遵从 ClassLoader getResourceAsStream getSystemResourceAsStream 视情况而定。

关于java - 从jar中读取xml文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3409417/

相关文章:

java - 让 Selenium firefox 驱动程序正确退出 - Java

java - 了解 Maven 构建过程

java - Eclipse Maven 2 安装

java - Java Card 中的 ALG_RSA_NOPAD

python - 如何将 ElementTree 保存为 UTF-16

javascript - 悬停效果与 JavaScript

java - 哪里有示例 JAX-RS 客户端示例?

java - Noob JSP + Servlet + EJB 构建J2EE简单Web项目的资料

java - 数组循环性能中哪一个更快?

java - 使用 JAXB 将 xml 与 html 实体解码