我正在做一个javaEE应用程序,我使用spring来注入我的ejbs和WAS7,目前我在windows环境中运行它,最后它将在unix环境中运行。所以我创建了一个java类作为spring的控制器,我应该从jsp获取一些数据并将其转换为excel。因此,当我尝试从我的web内容文件夹中获取图像时,我可以将其放入我的excel y get文件中找不到。 这是我迄今为止没有成功的尝试:
String path = File.separatorChar + "img" + File.separatorChar + File.separatorChar + "logoCorporativo.jpg";
System.out.println(path);
try {
FileInputStream fis = new FileInputStream(path);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
和
String path = File.separator + "img" + File.separator + File.separator + "logoCorporativo.jpg";
System.out.println(path);
try {
FileInputStream fis = new FileInputStream(path);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
我发现当我在我的浏览器中输入“http:// localhost:9080 / AdminMapasWeb / img / logoCorporativo.jpg”时,我可以看到图像。
有没有人我收到FileNotFound异常??? 提前谢谢。
答案 0 :(得分:2)
使用
File file = getRequest().getServletContext().getRealPath("/img/logoCorporativo.jpg");
getRealPath将URL根相对路径(使用斜杠“/”)转换为File。 如果war在部署时没有解压缩,则getRealPath返回null。
答案 1 :(得分:1)
您的文件打包在* .war存档中,因此它不是文件系统上的独立文件(就像它在开发中一样) 尝试使用getClass()。getClassLoader.getResourceAsStream()来获取它