android断点续传实现方案之一

思路:使用HttpGet添加Header头部,在头部里面设置读取的内容的范围,这样服务器发送的数据就不是从头开始发,客服端使用单线程以追加的方式打开一个文件,每次得到的数据都追加到文件中,这样就实现了文件的断点下载。

服务器代码片段:

//设置下载的数据位置XX字节到XX字节  
            Header header_size = new BasicHeader("Range", "bytes=" + size + "-"  
                    + fileSize);  
            request.addHeader(header_size);  
            response = client.execute(request); 
//设置下载的数据位置XX字节到XX字节  
            Header header_size = new BasicHeader("Range", "bytes=" + size + "-"  
                    );  
            request.addHeader(header_size);  
            response = client.execute(request); 

客户端代码片段:

mStream = new FileOutputStream(state.mFilename, true);
//小技巧 以追加的方式打开文件输出流,就可以实现断点下载,true为追加,false为不追加直接替换掉源文件的内容
原文地址:https://www.cnblogs.com/xushihai/p/4600887.html