六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 53|回复: 0

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

[复制链接]

升级  54%

5

主题

5

主题

5

主题

童生

Rank: 1

积分
27
 楼主| 发表于 2013-1-15 02:24:47 | 显示全部楼层 |阅读模式
分享我的端点下载
 
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[1024];            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();        }    }} 
 
我不喜欢写注释大家仔细看吧呵呵
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表