Java实现断点下载Demo
//1、声明URL
String path="http://localhost:8080/day22_DownLoad/file/a.rmvb";
URL url=new URL(path);
//2、设置已下载文件
String savePath="d:\\a.rmvb";
File file=new File(savePath);
long size=file.length();//文件当前大小,刚开始时返回0
System.out.println(size);
//3、设置连接
HttpURLConnection conn= (HttpURLConnection) url.openConnection();
//4、设置访问类型
conn.setRequestMethod("GET");
//5、设置下载区间
conn.setRequestProperty("range","bytes="+size+"-");
conn.connect();
//6、状态码
int code=conn.getResponseCode();//断点是206
if(code==206)
{
InputStream in=conn.getInputStream();
int serviceSize=conn.getContentLength();
//必须使用
RandomAccessFile out=new RandomAccessFile(file, "rw");
//从size字节开始写
out.seek(size);
byte[] b=new byte[1024];
int len=-1;
while((len=in.read(b))!=-1)
{
out.write(b,0,len);
}
out.close();
}
Java实现断点下载Demo的更多相关文章
- java 多线程断点下载demo
源码链接 import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java ...
- java多线程断点下载原理(代码实例演示)
原文:http://www.open-open.com/lib/view/open1423214229232.html 其实多线程断点下载原理,很简单的,那么我们就来先了解下,如何实现多线程的断点下载 ...
- java 多线程断点下载功能
import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import java.io.Rand ...
- Java多线程断点下载文件
Java实现断点续传+多线程下载 如下代码所示,每一步都有注解 思路: 通过URL连接到服务器上要下载的文件,得到文件的大小: 算出每条线程下载的开始位置和结束位置,例如,有两条线程下载100Byte ...
- Java多线程断点下载
public static class DownloadThread extends Thread{ private int threadId; private int startIndex; pri ...
- Java之多线程断点下载的实现
RandomAccessFile类: 此类的实例支持对随机訪问文件的读取和写入.随机訪问文件的行为相似存储在文件系统中的一个大型 byte 数组. 存在指向该隐含数组.光标或索引,称为文件指针.输入操 ...
- Java实现多线程断点下载(下载过程中可以暂停)
线程可以理解为下载的通道,一个线程就是一个文件的下载通道,多线程也就是同时开启好几个下载通道.当服务器提供下载服务时,使用下载者是共享带宽的,在优先级相同的情况下,总服务器会对总下载线程进行平均分配. ...
- 【Java EE 学习 22 下】【单线程下载】【单线程断点下载】【多线程下载】
一.文件下载简述 1.使用浏览器从网页上下载文件,Servlet需要增加一些响应头信息 (1)response.setContentType("application/force-downl ...
- Android(java)学习笔记216:多线程断点下载的原理(Android实现)
之前在Android(java)学习笔记215中,我们从JavaSE的角度去实现了多线程断点下载,下面从Android角度实现这个断点下载: 1.新建一个Android工程: (1)其中我们先实现布局 ...
随机推荐
- Rectangle 响应按键
import QtQuick 2.4 import QtQuick.Window 2.2 Window { visible: true MainForm { anchors.fill: parent ...
- StateListDrawable 资源
StateListDrawable 用于组织多个 Drawable 对象.当使用 StateListDrawable 作为目标组件 的背景.前景图片时,StateListDrawable 对象所显示的 ...
- h.264全搜索以及快速全搜索算法
Full Search 全搜索算法是最简单暴力的一种搜索算法,对搜索范围内的所有像素点都进行匹配对比,选出最合适的运动向量,以下就是一个搜索范围为4的全搜索范围(单个像素点) /*! ******** ...
- 第三代搜索推出网民评价系统,seo末日还会远吗?
昨天的360搜索可谓风光无限,两大搜索新品同日上线,至今360导航页面依旧飘荡着两者的身影,但是不少站长从此却是忧心忡忡,seo末日是否真的要到来了?笔者想起数日前写的一篇博文:seo末日言论频频来袭 ...
- 【HDOJ】3587 NUDOTA
字符串模拟水题. /* 3587 */ #include <iostream> #include <cstdio> #include <cstring> #incl ...
- (转)C++ 编程规范
转载地址:http://www.cnblogs.com/len3d/archive/2008/02/01/1061902.html C/C++编码规范 今天人们越来越明白软件设计更多地是一种工程,而不 ...
- 【转】Linux I2C设备驱动编写(三)-实例分析AM3359
原文网址:http://www.cnblogs.com/biglucky/p/4059586.html TI-AM3359 I2C适配器实例分析 I2C Spec简述 特性: 兼容飞利浦I2C 2.1 ...
- Windows 不能在 本地计算机 启动 SQL Server 服务 错误代码126
本文转自:http://www.cnblogs.com/yuerdongni/archive/2012/08/18/2645140.html 在使用SQL2005(或2008)是可能会遇到错误提示: ...
- [置顶] Android开发之ProcessState和IPCThreadState类分析
在Android中ProcessState是客户端和服务端公共的部分,作为Binder通信的基础,ProcessState是一个singleton类,每个 进程只有一个对象,这个对象负责打开Binde ...
- 【转】非常完善的Log4net详细说明
转自:http://www.cnblogs.com/zhangchenliang/p/4546352.htmlhttp://www.cnblogs.com/zhangchenliang/p/45463 ...