背景
有时在实际中,会有下载的场景,或者是存在要动态生成一个文件,然后提供下载,如生成表格导出,导出打印等功能
主要思路
使用response中的outputstream来进行文件操作,实现下载
BufferedOutputStream clientout = new BufferedOutputStream(response.getOutputStream());
对输出流操作完成后,进行刷新,关闭,便可以实现文件下载
具体实现
静态文件
在电脑目录下存在一个文件(以图片为示例),获取它的路径
String path = "C:/Users/Public/Pictures/Sample Pictures/iii.jpg";
或者在工程目录下存在一个文件(以图片为示例)
文件存放在WebContent/test文件夹下,名称为11.jpg
String path = getServletContext().getRealPath("/test/11.jpg");
获取输入流
//获取缓冲输入流
BufferedInputStream in = new BufferedInputStream(new FileInputStream(path));
//数据存储到数组中
byte[] buffer = new byte[in.available()];
in.read(buffer);

本文介绍了如何在Java中使用Servlet实现文件下载,包括静态文件和动态生成文件的下载方式。主要内容包括设置响应信息、获取输入流、输出流操作及示例代码展示,通过流的控制实现下载功能。
最低0.47元/天 解锁文章
666

被折叠的 条评论
为什么被折叠?



