我正在尝试从部署到 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 文件的根目录中。
请帮忙!!!!
谢谢, 一个
最佳答案
您需要使用类的 getResource
或 getResourceAsStream
从 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/