Java代码实现文件下载
2011-11-27 12:20
651 查看
昨天晚上写了一篇文件上传的,今天上午把文件下载弄了一下,还是commons中的包
commons-fileupload.jar、commons-io.jar,下载位置就不说了,apache网站上找
这是一个web工程,下面有个截图
View Code
好了,还有一点要注意,就是资源位置,我这里是在D盘创建了一个file文件夹,里面存存放几个测试文件就好了
commons-fileupload.jar、commons-io.jar,下载位置就不说了,apache网站上找
这是一个web工程,下面有个截图
View Code
import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.net.URLEncoder; import javax.servlet.ServletException; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class DownLoadServlet extends HttpServlet { private static final long serialVersionUID = 1L; public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String path="D:/file";//资源位置 String fileName1 = request.getParameter("filename"); String fileName = new String(fileName1.getBytes("ISO-8859-1"),"utf-8"); File file = new File(path+"/"+fileName);//下载资源文件 //文件存在 if(file.exists()){ //设置响应类型及响应头 System.out.println(fileName); response.setContentType("application/x-msdownload"); //防止输出文件名乱码以下两种均可 //response.setHeader( "Content-Disposition", "attachment;filename=\"" + new String( fileName.getBytes("gb2312"), "ISO8859-1" )+"\""); response.addHeader("Content-Disposition", "attachment;filename=\""+URLEncoder.encode(fileName,"UTF-8")+"\""); //读取文件 InputStream inputStream = new FileInputStream(file); BufferedInputStream bis = new BufferedInputStream(inputStream); byte[] bytes = new byte[1024]; ServletOutputStream outputStream = response.getOutputStream();//该对象可以在响应中写入二进制数据 BufferedOutputStream bos = new BufferedOutputStream(outputStream); int readLength = 0; while((readLength = bis.read(bytes))!=-1){ bos.write(bytes,0,readLength); } //释放资源 inputStream.close(); bis.close(); bos.flush(); outputStream.close(); bos.flush(); } } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doGet(request, response); } }
好了,还有一点要注意,就是资源位置,我这里是在D盘创建了一个file文件夹,里面存存放几个测试文件就好了
相关文章推荐
- 实现文件下载的java代码
- 实现文件下载的java代码
- Java代码实现FTP文件下载
- java文件上传下载功能实现代码
- Java代码实现FTP服务器上传文件与下载文件
- java图片开源框架tesseract调用OCR实现图片文件识别代码下载
- ftp 实现文件的上传下载以及列出文件列表Java代码(未测试)
- Java实现FTP文件的上传和下载功能的实例代码
- Java实现文件自动打包成zip并下载的代码
- java代码实现打包多个文件下载功能
- JAVA中使用FTPClient实现文件上传下载实例代码
- Java代码实现SFTP文件下载
- JAVA代码实现下载单个文件,和下载打包文件
- java web 一行代码实现文件上传下载
- java文件上传(文件大小校验)、下载、删除的实现代码
- 实现文件下载的java代码
- java实现文件的上传、下载和删除的后台代码
- 实现文件下载的java代码
- java代码实现从ftp上下载文件
- ftp 实现文件的上传下载以及列出文件列表Java代码