faylai 发表于 2013-2-7 10:02:06

java jsp 文件断点 多线程 迅雷下载

分享我的端点下载
 
package com.zzvcom.common;import java.io.BufferedInputStream;import java.io.File;import java.io.FileInputStream;import java.io.OutputStream;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * 断点续传 */public abstract class FileRender{    public static void RenderDownloadFile(HttpServletResponse response,            HttpServletRequest request, File file, String fileName)    {      try      {            response.reset();            response.setContentType("application/octet-stream");            response.setHeader("Accept-Ranges", "bytes");            response.setHeader("Content-Disposition", "attachment; filename="                  + java.net.URLEncoder.encode(fileName, "UTF-8"));            response.setHeader("Content-Length", file.length() + "");            OutputStream os = response.getOutputStream();            String range = request.getHeader("Range");            // System.out.println("range:"+range);            FileInputStream fis = new FileInputStream(file);            byte[] bytes = new byte;            if (range != null)            {                range = range.substring("bytes=".length(), range.length() - 1);                long start = Long.parseLong(range);                fis.skip(start);                long l = file.length();                String contentRange = new StringBuffer("bytes ").append(start)                        .append("-").append(l - 1).append("/").append(l)                        .toString();                response.setHeader("Content-Range", contentRange);                response.setStatus(HttpServletResponse.SC_PARTIAL_CONTENT);            }            BufferedInputStream buff = new BufferedInputStream(fis);            int len = 0;            while ((len = buff.read(bytes)) > 0)            {                os.write(bytes, 0, len);            }            // os.close();            buff.close();      }      catch (Exception e)      {            e.printStackTrace();      }    }} 
 
我不喜欢写注释大家仔细看吧呵呵
页: [1]
查看完整版本: java jsp 文件断点 多线程 迅雷下载