# Blitz **Repository Path**: Haidnor/Blitz ## Basic Information - **Project Name**: Blitz - **Description**: Java 多线程下载工具 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2020-06-11 - **Last Updated**: 2024-09-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 一、概述 该作品包含了两个下载工具类,第一个为多线程下载单个文件,第二个为多线程下载多个文件(可用于下载一些网站的电影视频)。使用者只需要修改 代码中几行参数,运行代码后即可进行下载。 # 二、多线程下载单个文件 此功能的实现类为`` cn.haidnor.blitz.core.Downloader ``。使用该工具前首先修改类常量``DOWNLOAD_DIR_PATH``,设置保存下载文件的目录, 该下载器会自动生成下载目录文件夹。 该工具默认为32线程并发下载,如果需要修改线程数可以修改类常量``THREAD_AMOUNT``。 最后修改main方法中的下载地址与文件名即可。 # 三、多线程下载视频电影 此功能的实现类为``cn.haidnor.blitz.core.Hacker ``。这个工具主要用于下载部分视频网站的电影。一些网站向浏览器发送视频,会将服务器内的 视频文件切割成多个后缀名为``.ts``格式的文件传送。例如: ``https://cn4.xxx.com//e766ce3e55f1b/film_0001.ts`` ``https://cn4.xxx.com//e766ce3e55f1b/film_0002.ts`` ``https://cn4.xxx.com//e766ce3e55f1b/film_0003.ts`` ``https://cn4.xxx.com//e766ce3e55f1b/film_1004.ts`` 通过观察可以发现,这些请求连接的后缀都是有规律可循的,在代码中需要使用拼接字符串的方法,拼接所有的Http请求,再发送这些请求即可下载所有的视频文件。 因此使用者在使用该工具类的时候,需要使用浏览器的调试功能抓取后缀为ts的请求,复制放进代码中(具体操作请看该类main方法中的注释)。 该工具类不会自动生成文件夹,因此需要使用者手动在电脑上创建文件在,然后在代码``run``方法内修改存放文件的目录。 值得一提的是,该共具类使用了线程池技术,使用者可以根据自己的情况修改线程池中的线程数。(详细说明请参考main方法中的注释)。 一般来说,一部大小为1GB的视频文件,服务器往往会将文件切割成一千甚至两千份小的.ts文件,因此在使用者保存文件的目录中也会下载同样数量的.ts文件,为了合并这些文件 ,在项目目录中提供了一个名为``MargeTsFile.bat``的批处理文件,待所有的视频文件都下载完毕后,将这个批处理文件放入下载目录中运行即可,会自动将文件夹内所有的.ts文件合并成一个 名为``new.ts``的文件。