基于Java的客户端下载工具设计与实现
无需注册登录,支付后按照提示操作即可获取该资料.
基于JAVA的客户端下载工具设计与实现(任务书,开题报告,中期检查表,文献综述,外文翻译,毕业论文15000字,程序代码)
本系统采用C/S的架构模式,项目中使用Java.net.*包中HttpURLConnection类进行资源连接和下载,并使用JAVA.io.*包中RandomAccessFile类来实现文件读写的功能,使用序列化与反序列化保存对象信息来实现断点续传。界面中使用了自定义的TableModel来动态更新列表数据,实现类似于Flashget、迅雷的悬浮窗口,并将程序加入到系统任务栏图标中。在程序中将一个资源分割为若干个“块”,为每一个“块”建立一条线程进行下载,实现了多线程下载,下载完所有的“块”后,再使用I/O流将这些“块”合并到最终的文件中。
本系统主要实现新建下载,多线程下载,下载资源的暂停,已暂停下载资源的开始,下载完成资源 的删除等功能。
业务流分析
多断点续创的业务流程:首先用户启动软件,点击新建下载连接,在新建下载资源面板中输入相应的必要操作(资源的url、存放路径、文件名等),由软件发送HTTP消息请求,然后服务器返回请求响应消息,确认正确后,启动下载进程进行下载资源,将缓存中存储的数据最终存储到目的路径
功能设计
下载工具包括主界面、添加下载资源的界面、悬浮窗口与系统任务栏图标。下载工具的主界面主要向用户展示下载资源的信息,例如显示正在下载的资源信息、已下载完成的资源信息等。添加下载资源界面主要让用户输入需要下载的资源地址等信息,让下载工具可以对该资源进行连接与下载。悬浮窗口就好像Flashget与迅雷这些下载工具一样,在屏幕中建立一个小窗口,该窗口可以展现一些下载信息给用户。
系统环境
开发工具:Eclipse 4.2.1
开发平台:JDK1.6
开发语言:JAVA语言
目 录
摘 要 I
ABSTRACT II
1 绪论 1
1.1 引言 1
1.2 选题背景 1
2 相关基础知识以及开发平台 3
2.1 开发技术简介 3
2.1.1 JAVA技术 3
2.1.2 JAVA网络编程 4
2.1.3 JAVA Swing 4
2.1.4 断点续传原理 4
2.1.5 JAVA多线程 6
2.1.6 JAVA对象序列化 7
2.1.7 HTTP请求 8
2.2 开发工具和平台简介 10
2.2.1 开发软件平台 10
2.2.2 开发工具选择 10
2.2.3 Eclipse简介 11
3系统概述 12
3.1 需求分析 12
3.1.1 用户需求分析 12
3.1.2 业务流分析 13
3.2 可行性分析 14
3.2.1 技术可行性 14
3.2.2 经济可行性 14
3.2.3 操作可行性 14
3.2.4 时间可行性 14
3.2.5 运行可行性 14
3.2.6 法律可行性 15
3.3 系统环境 15
4 系统总体设计 16
4.1 系统设计要点 16
4.2 功能设计 17
5系统详细设计 18
5.1 程序主界面 18
5.2 任务栏图标 19
5.3 桌面悬浮窗口 20
5.4 新建下载任务 21
5.5 下载资源存放路径选择 22
5.6 导航树面板 23
5.7 下载资源信息 25
5.8 下载文件拆分 26
5.9 下载文件合并 27
5.10 打开/关闭窗口 29
5.11 删除任务 29
结束语 30
致 谢 31
参考文献 32