HttpURLConnection实现断点下载

标签: httpurlconnection 断点 下载 | 发表时间:2014-07-02 23:35 | 作者:apple578994358gg
出处:http://www.iteye.com
package cn.demo;

import java.io.File;
import java.io.InputStream;
import java.io.RandomAccessFile;
import java.net.HttpURLConnection;
import java.net.URL;

public class BreakDown {
public static void main(String[] args) throws Exception {
String fileName = "video.avi";
String path = "http://localhost:6666/day22_cos/up/"+fileName;
String savePath = "d:/a/"+fileName;
File file = new File(savePath);
long size = file.length();
System.err.println(file.length());

URL url = new URL(path);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestMethod("GET");
//设置下载区间
con.setRequestProperty("range","bytes="+size+"-");
con.connect();
int code = con.getResponseCode();//只要断点下载,返回的已经不是200,206
System.err.println(code);
if(code==206){
InputStream in= con.getInputStream();
int serverSize = con.getContentLength();
System.err.println("服务器返回的长度:"+serverSize);
System.err.println("这次从哪开开始写:"+size);
//必须要使用
RandomAccessFile out = new RandomAccessFile(file,"rw");
out.seek(size);

byte[] b = new byte[1024];
int len = -1;
while((len=in.read(b))!=-1){
out.write(b,0,len);
}
out.close();
}
}
}


已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [httpurlconnection 断点 下载] 推荐:

HttpURLConnection实现断点下载

- - Web前端 - ITeye博客
int code = con.getResponseCode();//只要断点下载,返回的已经不是200,206. System.err.println("服务器返回的长度:"+serverSize);. System.err.println("这次从哪开开始写:"+size);. 已有 0 人发表留言,猛击->> 这里<<-参与讨论.

Android HttpURLConnection及HttpClient选择

- - Trinea
介绍Android中Http请求方式的选择、区别及几个常用框架对API的选择. Android Http请求API主要分两种:. 第一种是Java的HttpURLConnection,默认带gzip压缩. 第二种Apache的HttpClient,默认不带gzip压缩. 两种方式请求connection都是keep alive,默认User-Agent不同.

[原]Android HttpURLConnection Accept-Encoding: gzip 版本问题

- - bob007abc的专栏
Android 官方文档对 HttpURLConnection 的 Performance 的描述有一段:. 参见: http://developer.android.com/reference/java/net/HttpURLConnection.html. 就是说 使用HttpURLConnection发请求时,默认的request hearder里会加上 Accept-Encoding: gzip.

HttpUrlconnection 、Httpclient get 、post 请求核心代码

- - CSDN博客推荐文章
HttpURLConnection的使用  . * URL请求的类别分为二类,GET与POST请求. * a:) get请求可以获取静态页面,也可以把参数放在URL字串后面,传递给servlet, . * b:) post与get的不同之处在于post的参数不是放在URL字串里面,而是放在http请求的正文内.

[译]Android访问网络,使用HttpURLConnection还是HttpClient?

- - 郭霖的专栏
转载请注明出处: http://blog.csdn.net/guolin_blog/article/details/12452307. 最近在研究Volley框架的源码,发现它在HTTP请求的使用上比较有意思,在Android 2.3及以上版本,使用的是HttpURLConnection,而在Android 2.2及以下版本,使用的是HttpClient.

简单使用URLConnection、HttpURLConnection和HttpClient访问网络资源

- - CSDN博客移动开发推荐文章
URL的openConnection方法将返回一个URLConnection,该对象表示应用程序和URL之间的通信连接. 程序可以通过它的实例向该URL发送请求,读取URL引用的资源. 下面通过一个简单示例来演示:. // 直接使用URLConnection对象进行连接. // 得到URLConnection对象.

HTTPURLConnection中接收流被截断的问题

- - 脚本爱好者
在Java中使用HTTPURLConnection遇到了一个很诡异的问题,接收返回的数据流总是被截断,方法如下:. 在网上也查了很多资料,最后发现是因为数据流的返回是异步的,也就是说不能一次性把包都收完,比如按照如下方法:. 当然有时候也要处理GZIP解压问题,代码如下:.

Android开发--多线程下载加断点续传

- - CSDN博客推荐文章
        文件下载在App应用中也用到很多,一般版本更新时多要用的文件下载来进行处理,以前也有看过很多大神有过该方面的博客,今天我也自己来实践一下,写的一般,还请大家多提意见,共同进步.         1.多线程下载:.                首先通过下载总线程数来划分文件的下载区域:利用int range = fileSize / threadCount;得到每一段下载量;每一段的位置是i * range到(i + 1) * rang  - 1,注意最后一段的位置是到filesize - 1;.

android开发步步为营之108:下载断点续传

- - CSDN博客推荐文章
        android开发过程中,下载是必备的功能,下载安装包,或者下载图片,假设用户下载过程中人为中断网络,或者网络不稳定中断下载任务,好的用户体验是从断开的地方继续下载,而不是又从头开始下载,因为比方说用户是拿4g来下载的,你一个游戏安装包100多M,用户下载了90M,突然手机没电了,充好电,又从头下载,那岂不是浪费用户的流量.

HTTP断点续传

- - CSDN博客互联网推荐文章
要实现断点续传的功能,通常都需要客户端记录下当前的下载进度,并在需要续传的时候通知服务端本次需要下载的内容片段. HTTP1.1协议(RFC2616)中定义了断点续传相关的HTTP头 Range和Content-Range字段,一个最简单的断点续传实现大概如下:.   1.客户端下载一个1024K的文件,已经下载了其中512K.