`

java断点续传原理总结

    博客分类:
  • JAVA
阅读更多

断点续传总结

断点续传的原理:

断点续传的原理很简单,就是在HTTP请求上和一般下载有所不同而已,所谓断点续传,也就是要从文件已经下载的地方开始继续下载。所以在客户端浏览器传给 Web 服务器的时候要多加一条信息 -- 从哪里开始下载。

 

断点续传的内核:

<!--[if !supportLists]-->1)  1使用net包中提供下载设置断点续传的开始位置

HttpURLConnection httpConnection = (HttpURLConnection)url.openConnection();


httpConnection.setRequestProperty("RANGE","bytes=2000070");

 

<!--[if !supportLists]-->2)  2保存文件采用可保存记录的RandomAccessFile,这样就可以用seek()方法访问记录并读取。

RandomAccess oSavedFile = new RandomAccessFile("down.zip","rw"); 
long nPos = 2000070;
// 定位文件指针到 nPos 位置 

oSavedFile.seek(nPos);

 

断点续传的实现:

<!--[if !supportLists]-->1)  1通过远程url和本地保存目录开始运行

<!--[if !supportLists]-->2)  2通过远程url获取文件大小

<!--[if !supportLists]-->3)  3通过本地临时文件info和远程文件比较大小判断是否有本地文件下载完毕

<!--[if !supportLists]-->4)  4未下载完成的开始断点下载

<!--[if !supportLists]-->5)  5完成后删除临时文件

<!--[if !supportLists]-->6)  <!--[endif]-->流程图如下

 

断点续传注意点:

1)判断是否下载完成,需要首先和临时文件下载到的位置和临时文件下载的总长度对比

2)在已下载的的前提下,下次下载需先读取到下载的位置,从当前位置继续下载

3)在操作数据流的时候,读取完毕记得关闭数据流。连接用完也要关闭,避免线程继续运行,导致操作文件失败的情况。

4)在重命名文件失败的情况,可换另一种方式,先复制出新文件,在删除老文件。


<!--[endif]-->

 

 

  • 大小: 33.4 KB
分享到:
评论

相关推荐

    java断点续传上传

    总结,Java实现断点续传上传涉及到文件的分块管理、HTTP请求的定制、网络通信的可靠性以及服务器端的数据同步等关键技术。理解这些原理和步骤,可以帮助开发者设计出高效且可靠的断点续传文件上传方案。

    用Java实现断点续传

    【断点续传的原理】 断点续传是一种在文件传输过程中...总结,Java实现断点续传涉及到网络编程、文件操作、HTTP协议以及错误处理等多个方面,通过合理的设计和实现,可以在不稳定的网络环境中提供高效的文件下载服务。

    断点续传下载 (JAVA版 迅雷)

    总结,Java版的断点续传下载工具结合了多线程和HTTP协议的特性,能够有效地管理和控制大文件的下载过程,为用户提供更好的下载体验。通过理解和实现这样的工具,开发者可以深入学习Java的并发编程以及网络通信相关的...

    Java实现文件的断点续传(HTTP)

    #### 一、断点续传的基本原理 断点续传是一种在网络传输过程中,当传输中断后能够从中断处继续传输的技术。这种技术对于大文件的传输尤其有用,可以避免因为网络问题导致的重新下载整个文件的情况发生。 在HTTP...

    Http断点续传 例子

    #### 三、Java中使用HttpURLConnection进行断点续传开发 在Java中,可以使用`HttpURLConnection`类来实现HTTP请求,并利用其提供的方法来发送带有`Range`头的请求,进而实现断点续传功能。 下面以给定的`...

    利用Http协议实现断点续传.pdf

    #### 二、断点续传的实现原理 断点续传的核心在于记录和识别文件传输的中断点。通常情况下,可以通过以下步骤实现: 1. **记录中断点**:当文件传输中断时,记录当前已传输的数据量以及任何其他必要信息,以便下次...

    FTP断点续传

    本文将深入探讨FTP断点续传的设计思路及其实现原理。 #### 一、FTP断点续传的基本概念 FTP断点续传指的是在传输过程中如果发生中断(如网络问题、服务器或客户端异常等),可以在中断的位置继续传输,而无需从头...

    java ftp 上传 下载 断点续传

    总结,Java FTP上传下载及断点续传是Java开发中常见且实用的技术,通过Apache Commons Net库可以方便地实现这些功能。在实际应用中,需要考虑网络环境、文件权限、错误处理等因素,以确保文件传输的稳定性和可靠性。

    java 多线程下载和断点续传

    ### Java多线程下载与断点续传技术详解 #### 一、背景介绍 随着互联网技术的发展,数据传输成为日常开发中的重要环节之一。在实际应用中,常常需要下载大文件,例如视频、大型应用程序等。传统的单线程下载方式在...

    很简单的Java断点续传实现原理

    总结来说,Java实现断点续传主要依赖于对文件操作的理解,尤其是RandomAccessFile类的使用,以及对下载状态的管理和恢复。通过将复杂的编程概念与日常生活中的例子相结合,如游戏存档,可以帮助我们更好地理解和掌握...

    基于断点续传下载原理的实现

    本文将详细介绍基于断点续传下载原理的实现,包括断点续传的原理、HTTP断点续传报文、Java实现等方面的知识点。 一、断点续传原理 断点续传是一种下载机制,它允许客户端从服务器端下载文件时,从中断的地方继续...

    扩展HTTP断点续传各类文件

    `SiteFileFetch`类是Java实现断点续传的关键组件。以下是对该类主要功能和代码逻辑的详细分析: 1. **初始化阶段**:构造函数接收一个`SiteInfoBean`对象作为参数,其中包含了待下载文件的相关信息。在此阶段,会...

    Java多线程与线程安全实践-基于Http协议的断点续传.zip

    总结,Java多线程与线程安全实践结合Http协议的断点续传,能够有效地提高大文件下载的效率和用户体验。在实际开发中,我们需要关注线程的创建与管理、同步机制、线程安全以及Http协议的应用,同时不断优化和完善代码...

    FTP断点续传源码

    总结一下,FTP断点续传是提高文件传输效率和可靠性的关键技术,尤其在网络不稳定的情况下。Java中实现这一功能主要依赖于第三方库如Apache Commons Net,通过设置传输起点,可以有效地从上次中断的地方继续上传或...

    断点续传123

    本文将深入探讨断点续传的工作原理、实现方式以及相关的编程实践。 1. **断点续传的原理** 断点续传基于HTTP协议的Range头字段。当客户端发起一个下载请求时,它可以包含一个Range头,指定希望下载的文件部分。...

    JAVA多线程与线程安全实践-基于Http协议的断点续传

    2. **断点续传原理**:当客户端中断下载后,记录下已下载的文件大小(即断点)。再次发起请求时,添加"Range"头字段,指定从哪个字节位置开始继续下载,服务器根据请求范围返回相应部分的数据。 3. **Java实现断点...

    JAVA源码JAVA多线程与线程安全实践-基于Http协议的断点续传

    #### 断点续传的基本原理 断点续传技术允许在网络连接中断后继续从断点处下载未完成的数据。这对于大文件的传输尤其有用,可以避免因网络波动而导致的下载失败。在HTTP协议中,通过`Range`请求头指定文件的起始位置...

    Java 开发JAVA多线程与线程安全实践-基于Http协议的断点续传.rar

    总结,学习Java多线程和线程安全是提升程序性能和并发能力的基础,而结合Http协议的断点续传技术则能有效地处理大文件传输,提供更优秀的用户体验。通过深入理解和实践这些知识点,开发者可以构建更加稳定、高效的...

    断点续传的文章,作者钟华,来自于IBM论坛

    在本文中,作者钟华通过IBM论坛分享了断点续传的基本原理和Java实现的关键点。 首先,断点续传的核心在于HTTP协议中的请求头。通常,当浏览器请求下载一个文件时,会发送一个GET请求,包含文件的路径和协议版本等...

Global site tag (gtag.js) - Google Analytics