`

HttpURLConnection实现断点下载

 
阅读更多
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();
}
}
}
分享到:
评论

相关推荐

    Android-使用HttpURLConnection实现断点续传

    本文将详细介绍如何利用HttpURLConnection实现Android应用中的断点续传功能。 首先,理解断点续传的概念。断点续传是指当下载或上传文件过程中因网络问题中断后,可以从上次中断的位置继续进行,而不是重新开始。这...

    Java 实现的断点下载

    在Java中,实现断点下载主要涉及到以下几个关键知识点: 1. 文件流操作:Java的`java.io`包提供了多种流类,如`FileInputStream`和`FileOutputStream`,用于读写本地文件。在断点下载中,我们需要使用`...

    HttpURLConnection实现单线程下载,多线程下载,多线程续点下载

    本教程将详细讲解如何使用HttpURLConnection实现单线程、多线程下载以及多线程续点下载。 **一、单线程下载** 单线程下载是最基础的下载方式,它通过一个连接获取服务器资源并写入本地文件。以下是一个简单的单...

    Android HttpURLConnection断点下载(单线程)

    本篇文章主要探讨如何使用`HttpURLConnection`实现Android的断点下载功能,这尤其适用于大文件下载场景。 `HttpURLConnection`是Android系统自带的HTTP请求库,相较于已弃用的`HttpClient`,它提供了更现代、更高效...

    Android文件断点下载

    在实现断点下载时,我们主要利用它的可设置请求头特性。 1. **获取文件大小**:首先,需要通过HTTP HEAD请求获取远程文件的总大小。这通常通过`Content-Length`响应头字段得到。 2. **检查本地存储**:在开始下载...

    Java中 URL实现断点下载

    在Java中,使用URL实现断点下载可以通过使用HttpURLConnection类来实现。HttpURLConnection类是Java中的一个类,用于发起HTTP请求。下面是一个简单的示例代码: ```java URL ur = new URL(...

    Android应用源码Android平台下通过HTTP协议实现断点续传下载.zip

    首先,源码是实现断点续传下载的核心部分。断点续传技术允许用户中断下载后,从上次停止的地方继续,而无需重新开始。在Android中,这通常涉及到以下几个关键组件和概念: 1. **HttpURLConnection或OkHttp**:在...

    android文件下载(实现断点续传)

    Android中可以使用java.nio.channels.FileChannel和java.net.HttpURLConnection实现多线程下载。每个线程负责下载文件的一部分。以下是一个简单的多线程下载类设计: ```java public class DownloadTask extends ...

    多线程下载支持断点续传

    在Java中,使用HttpURLConnection实现断点续传,首先需要读取本地已下载文件的大小,然后设置请求头的Range字段。当从服务器接收到206 Partial Content的响应码时,说明服务器支持断点续传,客户端可以继续下载未...

    Android apk 强制更新 实现断点续传

    4. **断点续传**:实现断点续传功能是为了在用户网络不稳定时避免下载重头开始。这需要保存每次下载的进度,并在下次启动下载时恢复。Android提供了`DownloadManager`系统服务,它可以自动处理网络中断和恢复,支持...

    Service+Notification实现断点下载

    在Android开发中,服务(Service)和通知(Notification)是两个关键组件,它们共同作用于后台任务执行,如实现断点续传的文件下载。断点续传是一种允许用户在中断下载后从上次停止的位置继续下载的技术,尤其适用于...

    Android断点下载示例

    本示例是专为Android初学者设计的,通过详细的代码注释,旨在帮助开发者快速理解和实现断点下载。 断点下载的核心原理是利用HTTP协议中的Range请求头。当用户开始一个新的下载任务时,服务器会返回一个包含文件总...

    HttpURLConnection servlet 多文件参数 断点上传

    本知识点将深入探讨如何使用`HttpURLConnection`与Servlet协同工作,处理多文件参数以及实现断点上传功能。 首先,`HttpURLConnection`是Java API中的一个核心类,它负责提供HTTP协议的连接功能。相比Apache ...

    htp多线程断点下载文件

    实现断点续传的关键在于保存已下载部分的信息,包括文件的总大小、已下载的字节数以及当前的下载位置。这样,当下载重新开始时,客户端可以根据这些信息向服务器请求从上次中断的地方开始继续传输。 在...

    使用HttpURLConnection下载图片

    在Java编程中,`HttpURLConnection`是用于处理HTTP协议的核心类,它提供了向网络资源发起...`HttpURLConnection`虽然简洁,但在高级功能上可能需要结合其他库,如OkHttp或Apache HttpClient,以实现更高效的网络通信。

    多线程断点下载

    `Content-Range`和`Range`头信息是实现断点续传的关键,客户端需要在请求中指定已下载的范围,服务器根据这些信息返回未下载的部分。 5. **存储与同步**: 下载的每个部分需要在本地临时文件中存储,并在所有部分...

    Android高级应用源码-Android断点下载.zip

    HttpURLConnection是Android内置的API,而OkHttp是一个第三方库,性能更优,支持设置请求头,方便实现断点续传。 3. 请求头:在下载时,需要在HTTP请求头中添加"Range"字段,指定需要下载的文件块范围,如"Range: ...

    android AsyncTask 断点下载实例

    本实例将探讨如何利用AsyncTask实现断点下载功能,这是一种允许用户在暂停后继续下载大文件的技术,极大地提高了用户体验。 首先,我们需要了解AsyncTask的结构。AsyncTask包含三个泛型参数:Params, Progress, ...

    android Http实现文件多线程断点下载

    在Android平台上,实现文件的多线程断点下载是一项常见的任务,这有助于提高下载速度并允许用户在中断后继续未完成的下载。以下是一个详细解释这个过程的关键知识点: 1. **HTTP请求与响应**: - HTTP是互联网上...

    Asynctask实现断点续传

    在本例中,我们将探讨如何利用`AsyncTask`实现断点续传功能。 断点续传是一种文件传输技术,允许用户在文件下载中断后从上次停止的地方继续下载,而不是从头开始。这对于大型文件来说非常有用,因为它节省了用户的...

Global site tag (gtag.js) - Google Analytics