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为不追加直接替换掉源文件的内容

 

你可能感兴趣的:(android)