我有一堆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不存在。
我怀疑:
谢谢@!
答案 0 :(得分:2)
如果文件在给定路径的jar顶部,您可以使用:
InputStream is = this.getClass().getResourceAsStream("/report/jrxml_file");
请参阅Java类文档:
从那里,您可以将其作为任何其他InputStream读取,例如使用Apache IOUtils,如下所述: