`
houchangxi
  • 浏览: 64883 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

断点续传的研究

阅读更多

 

  1. (1) 用什么方法实现提交 RANGE: bytes=2000070-。
    当然用最原始的 Socket 是肯定能完成的,不过那样太费事了,其实 Java 的 net 包中提供了这种功能。代码如下:

    URL url = new URL("http://www.sjtu.edu.cn/down.zip");
    HttpURLConnection httpConnection = (HttpURLConnection)url.openConnection();

    // 设置 User-Agent
    httpConnection.setRequestProperty("User-Agent","NetFox");
    // 设置断点续传的开始位置
    httpConnection.setRequestProperty("RANGE","bytes=2000070");
    // 获得输入流
    InputStream input = httpConnection.getInputStream();

    从输入流中取出的字节流就是 down.zip 文件从 2000070 开始的字节流。大家看,其实断点续传用 Java 实现起来还是很简单的吧。接下来要做的事就是怎么保存获得的流到文件中去了。

  2. 保存文件采用的方法。
    我采用的是 IO 包中的 RandAccessFile 类。
    操作相当简单,假设从 2000070 处开始保存文件,代码如下:
    RandomAccess oSavedFile = new RandomAccessFile("down.zip","rw");
    long nPos = 2000070;
    // 定位文件指针到 nPos 位置
    oSavedFile.seek(nPos);
    byte[] b = new byte[1024];
    int nRead;
    // 从输入流中读入字节流,然后写到文件中
    while((nRead=input.read(b,0,1024)) > 0)
    {
    oSavedFile.write(b,0,nRead);
    }
分享到:
评论

相关推荐

    基于c#的webapi断点续传几种方式及webclient断点续传下载.zip

    开发者可以通过研究这些代码来深入理解断点续传的工作原理,并在自己的项目中应用这些技术。无论是服务端还是客户端的断点续传,都需要对HTTP协议有深入的理解,尤其是HTTP头的使用,以及对文件操作和网络编程的熟悉...

    断点续传源码

    断点续传源码,如果想研究java断点续传技术的小伙伴,可下载去研究一下

    FTP上传(断点续传)更新进度条

    FTP上传和断点续传是网络传输中两个重要的概念,特别是在大文件传输场景下,而更新进度条则是提升用户体验的关键元素。在这个公司项目的第一个版本中,我们关注的是如何实现一个功能完善的FTP上传系统,该系统支持...

    asp.net大型文件断点续传实例

    在ASP.NET中,大型文件的上传和下载是一个挑战,因为默认情况下,ASP.NET不支持断点续传功能。断点续传技术允许用户在文件传输过程中中断,然后在稍后的时间点从上次中断的地方继续,这在处理大文件时特别有用,避免...

    oss下载(断点续传,后台显示进度)源代码.rar

    通过研究这个压缩包中的"oss_downLoad2"源代码,开发者可以了解到如何在实际项目中集成阿里云OSS的断点续传下载功能,并提供友好的用户界面。这是一个很好的学习资源,可以帮助开发者快速上手阿里云OSS的相关操作。

    大文件断点续传功能

    之前也试过百度的webuploader,但是效果并不理想(想研究的也可以试试),然后一直找,找了很久,直到找到这个后,才基本满足功能所需,可以实现大文件断点续传的需求。大文件断点续传的优势主要体现在:有时候突然...

    C# Winform 实现Http断点续传下载

    断点续传是一种非常实用的技术,尤其在处理大文件下载时,允许用户中断并重新启动下载,而无需从头开始。 首先,我们需要了解HTTP协议的基本概念。HTTP(超文本传输协议)是用于在Web上传输数据的标准协议。在下载...

    android断点续传

    在Android开发中,断点续传是一项重要的技术,它允许用户在下载文件时中断,然后在稍后的时间点继续从上次中断的地方下载,无需重新开始。这个例子是关于如何在Android应用中实现这一功能的实战教程。下面我们将深入...

    断点续传Demo

    "断点续传"技术就是为了解决这个问题而诞生的。它允许用户在上传或下载过程中因网络中断、计算机重启等原因暂停操作,然后在任意时刻从上次中断的位置继续,而无需从头开始。本"断点续传Demo"主要关注的就是这一核心...

    IOS FTP 支持断点续传

    断点续传是FTP的一个重要特性,它允许用户在上传或下载过程中暂停,然后在稍后的时间继续从上次中断的地方开始,这对于处理大文件特别有用,避免了因为网络问题或设备中断而需要重新传输整个文件。 标题"iOS FTP ...

    断点续传VC 源码

    断点续传是一种在大文件传输中非常实用的技术,它允许用户中断文件传输后,从上次中断的地方继续传输,而不需要重新开始。这种技术在网速不稳定或传输过程中出现故障时特别有用。在这个名为"断点续传VC 源码"的资料...

    FileSynchronizer_src.rar_c# 断点续传_断点续传_断点续传 服务器_服务器_续传

    文件断点续传技术在IT领域中是一种非常实用的功能,特别是在大文件传输和网络环境不稳定的情况下。...开发者可以通过这个例子深入研究网络通信协议设计,以及如何在实际应用中有效地利用断点续传技术。

    断点续传.zip

    在IT行业中,断点续传是一项非常实用的技术,尤其对于大文件传输而言。这个名为"断点续传.zip"的压缩包文件...通过研究和实践这个"断点续传.zip"提供的示例,你可以深化对这一概念的理解,并将其应用到自己的项目中。

    C# HttpWebRequest断点续传

    通过研究这个示例,你可以更深入地理解C#中如何实现断点续传和下载进度的显示。 总之,C#的HttpWebRequest类结合适当的策略和逻辑,可以有效地实现在应用程序中进行断点续传和下载进度的显示,这对于提升用户体验和...

    C#HttpWebRequest大文件断点续传类

    C#HttpWebRequest大文件断点续传类,简洁,清晰易懂,大家有空可以下载拿去研究

    断点续传 文档说明DEMO

    断点续传与多线程下载是网络编程中两种重要的技术,主要应用于大文件的高效传输,例如在软件更新、在线视频下载等场景。这里,我们深入探讨这两种技术的原理和实现方法。 首先,让我们理解“断点续传”(Resume ...

    Flex+Servlet断点续传Demo

    在IT行业中,断点续传是一项非常实用的技术,特别是在大文件传输时,它能提高用户体验并减少网络资源的浪费。本教程将详细讲解基于Flex客户端和...通过深入研究这些内容,你可以更好地理解和掌握断点续传的实现细节。

    delphi断点续传http下载源码

    通过研究这些代码,你可以更深入地了解断点续传的实现细节,并将其应用于自己的项目中。 总的来说,Delphi断点续传HTTP下载源码是一个结合了网络通信、文件操作和错误处理的综合性编程问题,理解并掌握其工作原理,...

    java大文件分块上传断点续传demo

    大文件的上传可能会遇到网络不稳定、服务器超时等问题,因此,为了确保文件上传的可靠性和用户体验,通常会采用分块上传和断点续传的技术。本Java Demo就是针对这个问题提供的一种解决方案,它允许开发者将大文件...

Global site tag (gtag.js) - Google Analytics