java 下载暂停实现_Java实现多线程断点下载(下载过程中可以暂停)

线程可以理解为下载的通道,一个线程就是一个文件的下载通道,多线程也就是同时开启好几个下载通道。当服务器提供下载服务时,使用下载者是共享带宽的,在优先级相同的情况下,总服务器会对总下载线程进行平均分配。不难理解,如果你线程多的话,那下载的越快。现流行的下载软件都支持多线程,且支持中途暂停下载,再次开始时不会从头开始下载。两种功能的实现步骤如下:(1)连接到下载资源文件时,首先判断资源文件大小,同步的...
摘要由CSDN通过智能技术生成

线程可以理解为下载的通道,一个线程就是一个文件的下载通道,多线程也就是同时开启好几个下载通道。当服务器提供下载服务时,使用下载者是共享带宽的,在优先级相同的情况下,总服务器会对总下载线程进行平均分配。不难理解,如果你线程多的话,那下载的越快。

现流行的下载软件都支持多线程,且支持中途暂停下载,再次开始时不会从头开始下载。

两种功能的实现步骤如下:

(1)连接到下载资源文件时,首先判断资源文件大小,同步的在本地创建一个大小相同的临时文件用于存储下载数据。

(2)根据线程数量确定每个线程所需下载的文件大小

(3)根据每个线程下载的文件大小以及线程数量,决定每个线程的开始下载位置以及结束下载位置

(4)为实现断点下载功能,需要对每个线程实时下载的位置做标记,方便下次开始时继续之前进度下载

开启3个线程下载视图(默认下载目录为java所辖项目):

68f0a92f77ef8b072ef5226a54a97597.png

整体实现代码如下(优化空间还有很大哦,大家不要只是看看就完事喽)

1 importjava.io.BufferedReader;2 importjava.io.File;3 importjava.io.FileInputStream;4 importjava.io.InputStream;5 importjava.io.InputStreamReader;6 importjava.io.RandomAccessFile;7 importjava.net.Htt

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值