Java ServletOutputStream的servlet中的相对路径
我正在读servlet编程。在实现ServletOutputStream以从相对路径读取图像时,它正在引发“未找到文件”异常 我尝试了多种方法,但都失败了,下面是eclipse中相关代码和文件夹结构的快照Java ServletOutputStream的servlet中的相对路径,java,servlets,Java,Servlets,我正在读servlet编程。在实现ServletOutputStream以从相对路径读取图像时,它正在引发“未找到文件”异常 我尝试了多种方法,但都失败了,下面是eclipse中相关代码和文件夹结构的快照 public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException { arg1.setContentType
public void service(ServletRequest arg0, ServletResponse arg1)
throws ServletException, IOException {
arg1.setContentType("image/jpeg");
ServletOutputStream out = arg1.getOutputStream();
FileInputStream fis = new FileInputStream("images/myimage.jpg");
BufferedInputStream bin = new BufferedInputStream(fis);
BufferedOutputStream boit = new BufferedOutputStream(out);
int ch = 0;
while((ch = bin.read() ) != -1){
boit.write(ch);
}
boit.close();
bin.close();
fis.close();
out.close();
}
}
。那么
如果这是一个类路径资源,不要很好地使用文件,在2015年,根本不要使用文件;使用java.nio.file,但不使用专用方法;在您的情况下,应该是.getResourceAsStream.my的相对路径错误吗?我必须为nio做些什么改变。需要@fgeThanks-Brett提供更多提示/帮助以获取答案。在进行更改之后,我得到另一个错误java.io.IOException:流在java.io.BufferedInputStream.getInIfOpenUnknown Source处关闭
final InputStream imageStream = arg0.getServletContext().getResourceAsStream("/images/myiamge.jpg");