我尝试为Jasper创建一个fileInputStram
,我得FileNotFoundException
。
我的jasper文件和java类在同一个包下。
我使用java 1.8和jasperreport 5.5.0
有人知道此代码中有什么问题吗?
java.io.FileNotFoundException: de\reports\off\office.jasper (The system cannot find the path specified)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:138)
at de.reports.off.PrintOffice.retrieveStream(PrintOffice.java:105)
这是我的方法:
public static FileInputStream retrieveStream() {
final String OFFICE_JASPER = "de\\reports\\off\\office.jasper";
File jasperFile = new File( OFFICE_JASPER );
FileInputStream fis = null;
try {
fis = new FileInputStream( jasperFile);
}
catch ( FileNotFoundException e ) {
e.printStackTrace();
}
return fis;
}
答案 0 :(得分:1)
如果使用相对路径创建File
对象,它将相对于user.home
中指定的目录(通常是启动应用程序的目录)。
例如:
- 您的应用程序从目录C:\dir1\app
开始
- File
将引用文件C:\dir1\app\de\reports\off\office.jasper
答案 1 :(得分:0)
我的IDE在编译时没有复制文件。
这只是pom文件中的小调整,其中定义了.jasper。
我将/src
添加到<directory>${basedir}/src</directory>
<resource>
<directory>${basedir}/src</directory>
<filtering>false</filtering>
<includes>
<include>**/*.jasper</include>
</includes>
<excludes>
<exclude>target</exclude>
<exclude>**/target</exclude>
<exclude>**/target/**</exclude>
</excludes>
</resource>