生活中,我们需要使用大量的文件下载工具。迅雷X、QQ旋风、快车、电驴,它们都能够实现多任务、多线程下载。本次程序设计的首要任务是以Java作为唯一编程语言编写一个简易的下载器。具体要求如下:
- 下载器拥有完善的图形化交互界面,能够与用户形成高效的互动;
- 下载器应该能够正常地连接网络、获取在线文件数据;
- 下载器应支持多任务并行下载。
- 用户可以自由新建下载任务;
- 用户可以自由设置资源在本地另存为的文件位置;
- 当出现网址格式错误、资源无法连接、文件读写失败等各类异常情况时,能够通知用户进行更正;
- 下载过程中,应有进度条等元素实时反馈下载进度;
- 文件下载完成后,能够提示用户。
下载器主界面采用边界布局(java.awt.BorderLayout
),区分顶端菜单栏与下方进度栏。
菜单栏分为2大主菜单——开始、帮助。开始菜单包括新建任务与退出程序,帮助菜单包含软件版本相关信息。
新建任务应按顺序弹出资源输入框、另存为选择框,任务开始后应在进度栏生成相应的下载详情,下载完成后应关闭相应的下载详情。
进度栏采用网格布局(java.awt.GridLayout
)、分为5行1列,每一行对应一个下载任务的详情面板。
- 此发行版本适用于 Oracle JDK 11 及以上版本,请通过以下命令确认您当前使用的 JDK 版本:
java --version
- 从 GitHub Release 下载二进制发行包(以
*.jar
为文件后缀名)。 - 双击下载的
*.jar
文件,应用程序应当自行启动并展示 Java Swing 程序主界面。
- 通过以下命令验证您的 Git 版本,它应该处于
v2.23.0
或更高版本:git --version
- 通过以下命令验证您的 Apache Maven 版本,它应该处于
v3.6.1
或更高版本:mvn --version
- 通过以下命令将本存储库克隆至本地:
# 使用 HTTPS 链接进行克隆 git clone https://github.com/Dragon1573/Multitask-Downloader.git # 使用 SSH 链接进行克隆(如果您配置了 SSH 密钥) git clone git@github.com:Dragon1573/Multitask-Downloader.git
- 进入存储库文件夹,修改
pom.xml
中的以下2个标签,更改为您当前使用的 JDK 版本:<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>11</maven.compiler.source> <maven.compiler.target>11</maven.compiler.target> </properties>
- 使用以下命令编译并生成可执行
*.jar
文件:mvn clean package
- 双击编译生成的
*.jar
文件,应用程序应当自行启动并展示 Java Swing 程序主界面。
- 通过以下命令验证您的 Apache Maven 版本,它应该处于
v3.6.1
或更高版本:mvn --version
- 通过以下链接下载本仓库的归档版本:
- 解压归档文件并进入存储库文件夹,使用以下命令编译并生成可执行
*.jar
文件:mvn clean package
- 双击编译生成的
*.jar
文件,应用程序应当自行启动并展示 Java Swing 程序主界面。
完整开源代码共6个 Java 文件,耗时1月零2天、基于 Oracle Java Development Kit 11.0.4 在 JetBrains Intellij IDEA 2019.2.3 编写而成。代码换行、缩进、注释写法等代码风格在阿里巴巴代码规约系统(Alibaba P3C Formatter)的基础上定制得到,不一定遵循 Java 规范。若您有严重的强迫症,请使用您自己的集成开发环境或代码编辑器重新格式化。
感谢所有复制、使用此开源代码的用户,你们的访问是对此作品的认可!若您有更好的改进建议,请发起 GitHub Issues 或 GitHub Pull Requests。
谢谢!