Java并发编程多线程项目实战文件下载器视频教程

浏览169+

并发编程多线程下载项目亮点技术介绍

今天我们来带大家做一个多线程下载器的小项目,这个项目的亮点就是会对文件做一个切分,然后用多线程进行下载,再进行合并,这是它的一个亮点,总的来说就是对多线程知识做了一个运用。

我们来看一下它的一些技术点,有用到random access file,还有httpurlconnection,另外还有线程池的一个使用,里面还用到了原子类LongAdder。

另外还有countDownLatch和scheduledExecutorService,大部分还是对多线程的相关知识做一个运用,也是希望大家能够通过这个项目的学习,对多线程的知识有更深入的理解。

项目演示与环境搭建

这个项目是没有界面的,我们是通过控制台来输一个下载地址,下载地址可以从网上去找,比如说我们下载一个qq, 在这个地方右键考备下链接地址复制,然后粘过来,你在下载东西的时候一定要看这个链接是不是真正的文件链接下载地址,可以复制到浏览器中摁下回车试一下。

我们首先把开发环境搭建一下,然后再编写一些基本的代码,那我这用的开发工具是idea,jdk版本是八,然后项目编码是utf8,这些内容最好跟我保持一致,当然你用别的也可以,没有强制的限制。

创建项目的话,咱们就创建一个普通的java项目就行了,我们现在写的这个下载器就是一个普通java项目,也不需要引入第三方的架包,所以说你只需要创建一个普通java 项目就可以了。我这提前创建好了,叫做powerdownloader。

那接下来再往下看,在这个项目里面,咱们会创建一些包,一个是constant,里面放的是一些常量,然后是一个call ,里面放下载器核心类包,我们会编写一些下载器核心类,这些核心的类放到这个包下面。

文件下载器核心功能步骤

接下来我们往下看,我们要做文件下载的话呢,这个文件下载是需要通过互联网,咱们是去通过互联网去下载文件的,从互联网下载的话也需要用到io流,需要下载的这个文件肯定是在互联网的一台服务器上面,服务器可能有同学不知道,我做一个简单的解释,这相当于是一个性能很强悍的电脑,这个文件是在互联网上面,我们本地想把这个文件下载过来,那么其实也会用到io流的知识。

项目中先创建一个主类,这里面我们利用方法把那个下载的链接地址拿到,下载链接地址其实就是一个字符串,使用java命令的时候可以把它传过来,在代码里就能获取到这个下载链接了。

接下来我们来实现文件下载的功能,我们现在首先实现最核心的功能,咱们先不用多线程,只是把这个文件给它做一个下载,后续的话再慢慢的去完善,要完成下载功能,需要跟这个文件所在的服务器建立一个链接,可以使用httpul connection实现,以前是通过浏览器直接点下载,代码中想要实现这个功能就必须使用这个类。

接着继续来编写一下载器的核心类,创建一个下载器的类叫做downloader类,然后在里面我们提供一个下载的方法,方法不需要返回值,然后需要传一个参数,就是你要下载什么文件,你需要把这个文件的地址传过来,所以咱们加一个参数url,方法首先要做的事就是要获取到下载的文件名,拿到这个文件名之后方便后续对文件重新命名,然后编写文件下载的核心逻辑代码即可。

多线程并发编程与线程池的应用说明

完成上述代码逻辑之后,一个基本的下载器功能基本上就算是实现了,具体实现代码参见本文提供的视频教程,目前的这个下载器有些什么问题呢?问题就是在下载的时候我们没有看到他的下载速度,还有已经下载的文件大小,这个咱们是看不到的,我相信大家都用过下载功能,平时下载时都会有每秒的下载速度这样的提示,文件已经下载了多大,已经下载了多少文件,这些信息都可以看到,目前我们是看不到的,所以说接下来咱们来实现这个功能。

这个功能的实现,将运用并发编程多线程,本身文件下载,这是一个线程,然后我们再起另外一个线程,另外一个线程的作用就是去获取这些下载速度、下载文件大小等信息,给它打印出来,所以说我们需要再起另外一个线程,其实还涉及到一些线程池的知识,如果你之前没有接触过的话也没有关系,我们后面会讲。

接下来还会使用并发编程多线程实现文件的切分下载与下载后的文件合并,我们先分析一下怎么去做,我们以前是下载一个大文件,一点一点的下载,使用一个线程去下载这样一个大文件。 那么文件切分的思路是这样子的,我把这个大文件给它分成若干份,每一块数据单独起一个线程去下载这部分内容,比如现在我们要起四个线程分别下载这四块不同的数据区域。

那么下载之后呢,这一部分内容就会存储到我们的硬盘上面,这个文件下载到我们本地之后其实是有四个文件,但这四个文件你肯定不能用啊,因为它是分开的,接下来咱们要做的事情就是对文件进行合并,合并之后就还原了最初的文件了,此时文件就可以继续使用了,这个就是文件分治多线程并发编程下载的思路。

java并发编程多线程文件下载项目实战视频教程课程信息

1、课程大小:802.79MB

2、课程课时:共计21课时

3、播放格式:(mp4视频格式)百度云网盘在线播放、下载视频播放器播放、不加密

4、课件说明:教程课程涵盖素材、代码、笔记资料

多线程文件分治下载与文件合并视频课程详情

百度云网盘视频教程分享

责任声明:文章信息由IT教程屋小编精心整理总结编排而成,倾注了心血和汗水,转载时请遵循行业规范务必注明文章作者、来源及本页链接,谢谢合作!
本篇文章标题:Java并发编程多线程项目实战文件下载器视频教程
本篇文章url地址:http://www.itjcw123.cn/9263.html