servlet实现文件下载
2010-05-22 23:25
232 查看
servlet实现文件下载的原理很简单,从输入流读进来,写进输出流,这里的输出流当然就是response.getOutputStream();,而输入流是要下载的文件,不管这个文件放在哪里
import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class FileDownloadServlet */ public class FileDownloadServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public FileDownloadServlet() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { BufferedInputStream bis = null; BufferedOutputStream bos = null; try{ String fileName = request.getParameter("filename"); fileName = new String(fileName.getBytes("iso8859-1"), "gb2312"); response.setContentType("application/x-msdownload"); response.setHeader("Content-disposition", "attachment; filename=" + new String(fileName.getBytes("gb2312"), "iso8859-1")); bis = new BufferedInputStream(new FileInputStream(new File("F://TDDOWNLOAD//" + fileName))); bos = new BufferedOutputStream(response.getOutputStream()); byte[] buff = new byte[2048]; while(-1 != (bis.read(buff, 0, buff.length))) { bos.write(buff); bos.flush();//此处如果不用flush()方法则下载速度很慢,反之很快 } }catch(Exception e){ e.printStackTrace(); }finally{ if(bis != null){ bis.close(); } if(bos != null){ bos.close(); } } } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
相关文章推荐
- Servlet 实现文件下载
- Servlet实现文件下载
- Servlet实现文件上传下载
- Jsp/Servlet:实现文件上传与下载
- servlet简单实现文件下载的方法
- Servlet实现文件下载以及遇到的问题
- Servlet实现文件下载
- servlet实现图片预览、文件上传下载(转载)
- 使用Servlet实现动态文件下载
- 纯servlet实现文件上传和下载文件
- servlet实现文件下载的实用类分享
- servlet实现文件上传和下载
- Jsp+Servlet实现文件上传下载(一)--文件上传
- day20之用Servlet实现文件上传和下载(借助第三方开发包)
- Servlet实现文件下载
- servlet+jsp实现的文件上传与下载
- servlet实现文件下载及中文问题
- Servlet下载文件功能的实现
- Servlet实现代理文件下载
- servlet实现多文件打包下载