欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    基于HTTP的多线程下载器毕业论文(37页).docx

    • 资源ID:37153789       资源大小:445.92KB        全文页数:36页
    • 资源格式: DOCX        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于HTTP的多线程下载器毕业论文(37页).docx

    -基于HTTP的多线程下载器毕业论文-第 30 页X X 科 技 大 学毕 业 设 计( 论 文 )题目基于HTTP的多线程下载器作者 学院 专业 学号 指导教师 2012 年 6 月 6 日X X 科 技 大 学毕业设计(论文)任务书 计算机科学与工程 学院 网络工程 系(教研室)系(教研室)主任: (签名) 年 月 日学生姓名: 学号: 专业: 1 设计(论文)题目及专题: 基于HTTP的多线程下载器 2 学生设计(论文)时间:自 2012 年 1月 5 日开始至 2012 年 6 月 6 日止3 设计(论文)所用资源和参考资料: 1 李钟尉,马文强,陈丹丹.Java从入门到精通M.清华大学出版社,2008年2 孙卫琴.Java面向对象编程(Java开发专家)M.电子工业出版社,2006年3 克里舍纳姆塞,范群波.Web协议与实践(HTTP1.1网络协议缓存技术和流量测量).科学教育出版社4 设计(论文)应完成的主要内容:设计并实现基于红彤彤批协议的多线程下载器,实现了断点续传、回收站、悬浮窗等基本功能。5 提交设计(论文)形式(设计说明与图纸或论文等)及要求:(1)论文思路清晰,条理清楚,中心突出,内容充实,论据充分,结构紧凑,层次分明,图表清晰,格式规范,结论正确;按湖南科技大学本科生毕业设计(论文)要求与规范编排、打印文稿;(2)上交论文(纸质)打印文稿和系统源码(电子版);6 发题时间: 年 月 日指导教师: (签名)学 生: (签名)X X 科 技 大 学毕业设计(论文)指导人评语主要对学生毕业设计(论文)的工作态度,研究内容与方法,工作量,文献应用,创新性,实用性,科学性,文本(图纸)规范程度,存在的不足等进行综合评价指导人: (签名)年 月 日指导人评定成绩: X X 科 技 大 学毕业设计(论文)评阅人评语主要对学生毕业设计(论文)的文本格式、图纸规范程度,工作量,研究内容与方法,实用性与科学性,结论和存在的不足等进行综合评价评阅人: (签名)年 月 日评阅人评定成绩: X X 科 技 大 学毕业设计(论文)答辩记录日期: 学生: 学号: 班级: 题目: 提交毕业设计(论文)答辩委员会下列材料:1 设计(论文)说明书共页2 设计(论文)图 纸共页3 指导人、评阅人评语共页毕业设计(论文)答辩委员会评语:主要对学生毕业设计(论文)的研究思路,设计(论文)质量,文本图纸规范程度和对设计(论文)的介绍,回答问题情况等进行综合评价答辩委员会主任: (签名)委员: (签名)(签名)(签名)(签名)答辩成绩: 总评成绩: 摘 要当今的互联网时代,下载器是人们进行正常上网必不可少的工具。现在主流的下载器有很多,如迅雷、电驴、qq旋风等等。毋庸置疑,这些下载器都用到了多线程。所谓线程就是程序流执行的最小单元。在下载器中,线程可以简单的理解为是一条下载通道。那么,单线程就是用一条下载通道进行下载,而多线程就是同时用多条下载通道进行下载。当用户选择多线程进行下载,下载器就会将下载资源按线程数目进行分片,然后同时将这些片下载到本地。很显然多线程相对于单线程而言对CPU的利用率更高,这样更有利于提高下载的速度。HTTP即超文本传送协议,它是一种详细规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。HTTP是一种常用的网络协议。用户如果想要上网,最基本的就是要遵循HTTP协议。此次毕业设计采用了JAVA程序开发语言和eclipse开发工具。本课题重点介绍了在HTTP网络环境下实现多线程以及下载过程中的断点续传的原理和方法,有助于用户对下载器有更深层次的了解和更好的使用下载工具。关键词:HTTP;下载器;Java;多线程ABSTRACTIn todays internet times, the downloader is the necessary tools for people. Now there are a lot of mainstream downloaders, such as the thunder,EasyMule,qq whirlwind and so on. Undoubtedly, all of these downloaders used the Multi-thread. The so-called thread program is the smallest unit of execution flow. Thread can be simple to understand as a download channel. So, single thread is to download with a single download channel, and downloading with multi-thread is to download with a lot of download channel at the same time. When a user selects a multi-thread download, download device will download resources according to the number of threads . Then download resources to local place at the same time. Obviously Multi-thread take a higher CPU utilization than single thread, so it can improve download speed. HTTP namely hypertext transfer protocol, it is a kind of detailed communication regulations between the world wide web server and browser, it is a data transfer protocol which can through the Internet transmitting the world wide web document transmission. HTTP is a common network protocol. If you want to get to the Internet, the most basic is to follow the HTTP protocol. I use java program development language and eclipse development tool in my graduation design. This subject mainly introduces the principle and method to realize the multi-thread download process and break point transmission under HTTP network environment .It can help users to have a deeper understanding about downloader and how to use download tools better.Keywords: HTTP;downloader; Java; Multi-thread目录第一章 引言- 3 -1.1 项目背景- 3 -1.2 编写目的- 3 -1.3 论文的主要内容- 3 -第二章 应用开发相关技术和理论- 5 -2.1 HTTP- 5 -2.1.1 Http简介- 5 -2.1.2 Http请求和响应- 5 -2.2 JAVA- 7 -2.2.1 Java简介- 7 -2.2.2 Swing简介- 7 -2.3 线程和多线程- 8 -2.3.1 线程的基本概念- 8 -2.3.2 多线程的优点- 9 -2.3.3 Java线程的实现- 9 -第三章 系统分析与设计- 10 -3.1 功能需求- 10 -3.2 系统功能模块的划分- 10 -3.3 系统流程图- 11 -3.4 系统结构用例图- 12 -4.1 开发环境构建- 13 -4.1.1 JDK和Eclipse的安装- 13 -4.2 MainFrame模块设计- 14 -4.2.1 MainFrame模块结构- 14 -4.2.2 主界面设计- 15 -4.2.3 MainFrame组件监听事件- 17 -4.3 GlobalData模块设计- 18 -4.4 DownTableModel模块设计- 18 -4.4.1 模块UI设计- 18 -4.4.2 模块数据动态更新- 19 -4.5 NewDownload模块设计- 21 -4.5.1 模块流程分析- 21 -4.5.2 模块UI设计- 23 -4.5.3 NewDownload监听事件- 24 -4.6 Download模块的设计- 25 -4.6.1 模块流程分析- 26 -4.6.2 模块详细设计- 27 -4.7 DownloadThread模块的设计- 29 -4.8 LoadProperty模块设计- 30 -4.8.1 模块流程分析- 30 -4.8.2 LoadProperty模块实现- 30 -4.9 悬浮窗模块设计- 32 -4.9.1 悬浮窗UI设计- 32 -4.9.2 悬浮窗主件监听事件- 33 -第五章 结论- 35 -参 考 文 献- 36 -致 谢37第一章 引言1.1 项目背景目前国内下载器有很多种,有基于Http下载的,也有基于P2P下载的(最典型的就是电驴)。HTTP 是 Hyper Text Transportation Protocol(超文本传输协议)的缩写,它是计算机之间交换数据的方式,原理非常简单,就是用某种规则(协议)和提供文件的服务器取得联系并将文件搬到自己的计算机中来,从而实现下载的功能。HTTP下载模式是最经典的下载方式,也是发展得最成熟的技术,绝大部分的下载软件是从基于HTTP下载模式发展来的。HTTP下载模式依然是下载器中不可缺少的部分。对于多线程技术大家都不陌生,多线程技术在现阶段的下载器中得到了广泛的应用。由于在网络环境下,用户对于下载器速度的要求很高。当下载器采用多线程模式,实现在网络环境下对资源的同步下载,可以明显提高对CPU和带宽的利用率,最终实现下载速度的提高。本课题就是基于上述背景而开展的。1.2 编写目的如今是个互联网的时代,网络资源共享已经是潮流。我们如何获取这些共享的网络数据就要用到各种网络资源下载器。本文重点介绍了基于Http协议的多线程下载器的原理以及实现,希望能帮助用户更好的了解下载器,从而让用户能够更好的、更合理的去使用下载器,方便用户快速的下载所需要的资源。 1.3 论文的主要内容下载器的使用在我国已经是非常普遍,下载技术也日趋成熟。下面我将介绍如何利用Java以及Java提供的用户界面开发工具包Swing来实现下载器的功能和界面。本论文具体章节安排如下:第一章,引言。主要介绍本课题的背景和意义。第二章,系统开发相关概念和理论。主要介绍本系统涉及的相关概念、技术。第三章,系统分析。本章主要对系统进行了需求分析,系统功能模块划分;同时还给出了系统流程图和用例图。第四章,系统实现。这章是全文的核心部分,包括开发运行环境构建,系统各功能模块的实现等。第五章,结论,对本文聚焦的问题进行总结。第二章 应用开发相关技术和理论2.1 HTTP2.1.1 Http简介HTTP 是 Hyper Text Transportation Protocol(超文本传输协议)的缩写,是一种详细规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议,位于应用层。该协议使用可靠的TCP连接,默认端口是80;2.1.2 Http请求和响应HTTP协议基于客户端/服务器模式,客户端主动发出HTTP请求,服务器接收HTTP请求,返回HTTP响应结果。简单的http请求响应过程如图2.1所示:图2.1 http请求与响应请求报文是指客户端浏览器向网络服务器请求页面时,发送到服务器端的字符串,必须符合HTTP协议的格式要求,它可能包含如下组成部分:GET /index.html HTTP/1.1Accept: image/gif, image/x-xbitmap, image/jpeg, , */* /客户端可接受的文件类型Accept-Language: zh-cn UA-CPU: x86 /客户端处理器类型Accept-Encoding: gzip, deflate /表示客服端是否支持压缩格式传输User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)Host: :80Connection: Keep-Alive /表示客户端是否与主机持续连接<空行> 注意:请求报文中的大部分项目是可选的,只有GET和Host部分是必需的;GET部分的格式是: GET<空格>/请求的URL<空格>HTTP/协议版本号 如:GET /index.html HTTP/1.1Host部分的格式是:Host:<空格>服务器域名或IP地址:端口号 如:Host: :80换言之,请求报文中只要包含以上两部分,就可以向网络站点服务器请求到页面。响应报文是指网络服务器收到来自客户端的请求后,发回到客户端的字符串,它用来告诉客服端:服务器已经接受请求,随后跟随的是被请求的网页内容;HTTP/1.1 200 OKDate: Sat, 11 Aug 2007 11:58:37 GMT /响应时间Server: Apache/1.3.37(Unix) /服务器类型Accept-Ranges: bytes /何种方式发送响应数据Content-Length: 11503Content-Type: text/html<空行>响应报文中也有两部分是必需的:HTTP/协议版本号<空格>状态码<空格>OK状态码是一个3位整数,用来表示不同的状态,200表示响应成功,如:HTTP/1.1 200 OKContent-Type:<空格>text/html;<空格>charset=字符集编码用来描述服务器发回响应的文件类型以及字符集编码,text/html说明是文本文件或超文本文件,如:Content-Type: text/html; charset=GB2312附:响应状态码的具体描述: 1xx-信息提示 这些状态代码表示临时的响应。客户端在收到常规响应之前,应准备接收一个或多个 1xx 响应。 100-继续。 101-切换协议。 2xx-成功 这类状态代码表明服务器成功地接受了客户端请求。200-确定。客户端请求已成功。201-已创建。 202-已接受。203-非权威性信息。 204-无内容。 205-重置内容。206-部分内容。 3xx-重定向 客户端浏览器必须采取更多操作来实现请求。例如,浏览器可能不得不请求服务器上的不同的页面,或通过代理服务器重复该请求。301-对象已永久移走,即永久重定向。302-对象已临时移动。304-未修改。307-临时重定向。4xx-客户端错误 发生错误,客户端似乎有问题。例如,客户端请求不存在的页面,客户端未提供有效的身份验证信息。400-错误的请求。 401-访问被拒绝。IIS 定义了许多不同的 401 错误,它们指明更为具体的错误原因。这些具体的错误代码在浏览器中显示,但不在 IIS 日志中显示。 5xx-服务器错误 服务器由于遇到错误而不能完成该请求。500-内部服务器错误。504-网关超时。505-HTTP 版本不受支持。2.2 JAVA2.2.1 Java简介 Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE, JavaEE, JavaME)的总称。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。 2.2.2 Swing简介Swing是一个用于开发Java应用程序用户界面的开发工具包。它以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格。Swing开发人员只用很少的代码就可以利用Swing丰富、灵活的功能和模块化组件来创建优雅的用户界面。Swing组件是在AWT组件基础上发展而来的轻量级组件,与AWT相比不但改进了用户界面,而且所需的系统资源更少;Swing是纯Java组件,使得应用程序在不同的平台上运行时具有相同外观和相同的行为。Swing组件的类体系结构如图2.2所示:图2.2 Swing组件体系结构图创建图形界面的步骤:导入Swing包 选择界面风格 设置顶层容器 设置按钮和标签 将组件放到容器上 为组件增加边框 处理事件、辅助技术支持2.3 线程和多线程2.3.1 线程的基本概念线程(thread)是"进程"中某个单一顺序的控制流。也被称为轻量进程(lightweight processes)。计算机科学术语,指运行中的程序的调度单位。线程,有时被称为轻量进程(Lightweight Process,LWP),是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。由于线程之间的相互制约,致使线程在运行中呈现出间断性。线程也有就绪、阻塞和运行三种基本状态。每一个程序都至少有一个线程,那就是程序本身。 线程是程序中一个单一的顺序控制流程。在单个程序中同时运行多个线程完成不同的工作,称为多线程。 2.3.2 多线程的优点 CPU是以时间片的方式为进程分配CPU处理时间的,当一个进程以同步的方式去完成几件事情时,此进程必须完成了第一件事情以后再做第二件事,如此按顺序地向CPU请求完成要做的事情。在此单线程的工作模式下,如果把CPU看作是一共有100个时间片的话,CPU可能一直都只是花了其中的10个时间片来处理当前进程所要做的事情,只是用到了CPU的10%的时间片,而其他时间都白白浪费了,当然,实际上CPU的工作模式还是做完一件事以后再去做另一件事,只是CPU的处理速度非常快,很快就处理完成所请求的情事。 采用多线程可以很明显的提高CPU的利用率。如当前进程要完成三件事情1、2、3,那么CPU会分别用10%的时间来同时处理这3件事情,从而让CPU的使用率达到了30%,大大地提高了CPU的利用率。多线程在处理一些特殊的场合其优势更加明显(如下载器)。2.3.3 Java线程的实现Java线程的实现一般有两种方式:第一种是继承Thread类;第二种是实现Runnable接口。第三章 系统分析与设计3.1 功能需求由于丰富的网络资源,现在的用户下载需求量也越来越大,同时对下载软件处理资源速度的要求也越来越高。而多线程程序设计可以很好的解决程序并发的问题。在下载软件中应用多线程技术可以理解为将一个下载任务分成若干份来完成,其中的并发控制将使下载的效率大大提高。由于下载资源的时间长短不一,可能很短也可能比较长。如果在一段很长的下载时间段中出现了意外情况,比如电源意外被切断、网络中断、或是操作系统故障导致系统重新启动。这些原因都会导致下载的 中断,但是当用户重新下载资源时发现原来下载的数据已经消失你还是要回头再来。断点续传就很好的解决了这样的问题,它的任务是在下载任务停止时,记录当前下载的信息并且利用网络协议中的一些重定向机制继续完成下载任务而不必从头再来。简单来说可以将需求整理为如下:可视化界面;支持多线程下载; 支持断点续传; 3.2 系统功能模块的划分系统主要包含如下几个类:MainFrame:负责定义可视化界面,定义主界面的监听事件。DownTableModel:继承AbstractTableModel类,此类对象用于处理表格。 GlobalData:用于保存全局数据。 NewDownload:创建新建下载的页面,定义新建下载页面的监听事件。 Download:做下载前的准备,包括连接资源,实现多线程,分配每个线程的下载量。 DownloadThread:实现下载,并进行数据流的I/O操作。 LoadProperty:保存当界面关闭时的下载信息和读取界面打开时的下载信息。其中每个类可以看做是一个功能模块。3.3 系统流程图系统整体运行流程图:如图3.1所示:图3.1 系统流程图这个图打印出来会看不清字吧3.4 系统结构用例图根据系统需求分析,系统需实现新建下载、暂停下载、开始下载、删除下载四个基本功能。当系统在存在未完成任务退出时需保存下载任务的断点信息。同时启动程序时应导入未完成任务的下载信息。系统结构用例图如图3.2所示:图3.2 系统结构用例图此图应放大一些,否则字太小第四章 系统实现4.1 开发环境构建开发应用程序所需要的环境:1.操作系统:Windows 或 Linux系统。2.开发环境:Eclipse 。3.开发工具包:JDK。本应用使用的开发平台为Win7,所使用的开发环境为Eclipse3.6.2,所用到的开发工具包有JDK1.6。4.1.1 JDK和Eclipse的安装第一步:安装Java JDK1.6安装完成jdk以后最重要的是配置环境变量:在“我的电脑”上点右键>“属性”>“高级”> “环境变量(N)”;在“系统变量”中,设置3项属性,JAVA_HOME,PATH,CLASSPATH(大小写无所谓),若已存在则点击“编辑”,不存在则点击“新建”;JAVA_HOME为java的安装路径,如:C:Program FilesJavajdk1.6.0_05;Path中加入“%JAVA_HOME%/bin;”Classpath中加入“.;% JAVA_HOME%lib;” 最后在DOS下进行测试:输入java 、javac、java version等命令,分别输出如图4.1,图4.2,图4.3则表示配置成功。图4.1 图4.2图4.3第二步:安装Eclipse 3.6从网站http:/www.eclipse.org/downloads/下载需要的Eclipse版本,解压至相应的位置。Eclipse在使用时会自动检测Java运行时环境。4.2 MainFrame模块设计4.2.1 MainFrame模块结构MainFrame模块是界面和按钮监听事件的集合,用户每按一个按钮系统就会执行不同的事件。如下是MainFrame模块的结构图:图4.4 MainFrame模块结构图4.2.2 主界面设计MainFrame可视化界面主要定义了如下一些组建:JToolBar :用于装载(容纳)按钮;JButton :定义新建下载,开始下载,暂停下载等按钮;JTable:以表格形式显示下载条目;JScrollPane :定义带滚动条的文本区域,用于装载JTable;JProgressBar:定义一个下载进度条。主界面运行图如图4.4所示:图4.5 主界面当鼠标右键单击JTable表格中某一选择的下载项,需要弹出一个包括三个菜单项(暂停、开始、删除)的菜单。如图4.5所示:图4.6 菜单项定义主界面关键代码: private void initFrame()this.setSize(900,600);/1280*800this.setLocationRelativeTo(this);/居中显示this.setDefaultCloseOperation(EXIT_ON_CLOSE);c=this.getContentPane();private void initComponent()horizon_bar=new JToolBar(); /创建各个按钮并设置按钮的名字new_btn=new JButton("新建下载");start_btn= new JButton("开始下载"); pause_btn = new JButton("暂停下载");del_btn = new JButton("删除下载");/定义tabletable=new JTable();GlobalData.globaltable=new DownTableModel(table);table.setModel(GlobalData.globaltable);table.getColumnModel().getColumn(4).setCellRenderer(new DownCellRenderer();/设置进度条scrollPane = new JScrollPane(table);private void addComponent() /绑定组件horizon_bar.add(new_btn);horizon_bar.add(start_btn);horizon_bar.add(pause_btn);horizon_bar.add(del_btn);this.horizon_bar.setOrientation(JToolBar.HORIZONTAL);this.c.add(horizon_bar,BorderLayout.NORTH); this.c.add(scrollPane,BorderLayout.CENTER);主界面实现了下载进度条,我们需要设定进度条外观的各种属性,关键代码如下:public Component getTableCellRendererComponent(JTable table, Object value,boolean isSelected, boolean hasFocus, int row, int column) /将进度条中不断变化的值强制转换为int型 this.setValue(Integer.parseInt(value.toString(); this.setMaximum(100);/设置进度条的最大值为100 this.setMinimum(0);/ 设置进度条的最小值为0 this.setForeground(Color.blue); / 设置进度条的颜色为蓝色/该属性确定进度条是否应该呈现进度字符串this.setStringPainted(true);/设置进度条水平放置this.setOrientation(JProgressBar.HORIZONTAL); return this;4.2.3 MainFrame组件监听事件 MainFrame中定义了几个按钮,点击每个按钮都会产生相应的动作,这就用到了我们的监听事件。点击新建下载按钮:下载器要弹出新建下载框;点击暂停下载按钮:将选中的下载条目暂停;点击开始下载按钮:将选中的下载条目重新开始下载;点击删除下载按钮:将选中的下载条目删除,放入垃圾箱;关键代码如下:private void addListener() /新建下载监听事件new_btn.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) addNewDownload();/添加一个新的下载); /暂停下载监听事件pause_btn.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) int row=table.getRowCount();/得到所有下载条目个数for(int i=0;i<row;i+)if(table.isRowSelected(i) /暂停选中下载项GlobalData.globaltable.stopRow(i););/开始下载监听事件start_btn.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) int row=table.getRowCount();/得到所有下载条目个数for(int i=0;i<row;i+)if(table.isRowSelected(i) /开始选中下载项GlobalData.globaltable.startRow(i););/删除下载监听事件del_btn.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) int row=table.getRowCount();for(int i=0;i<row;i+)if(table.isRowSelected(i) /删除选中项 /删除的下载会同时在表格和当前框架内的down数组内删除GlobalData.globaltable.removeRow(i);GlobalData.globalmframe.download.remove(i);i-;);4.3 GlobalData模块设计GlobalData模块用于保存全局数据,即全局只有一个MainFrame和一个DownTableModel,关键代码入下:public class GlobalData public static MainFrame globalmframe; /全局MainFramepublic static DownTableModel globaltable; /全局TableModel 4.4 DownTableModel模块设计4.4.1 模块UI设计 DownTableModel即一个显示下载条目表格模型。DownTableModel的实现是继承一个AbstractTableModel类,继承这个类必须实现它的一些方法: getRowCount()、getColumnCount()、getValueAt()、getColumnName();同时我们还要为表格的每一个列定义一个列名(定义一个名字的集合),同时将名字的集合传到getColumnName()这个方法,内部会自动为每一列分配一个类名。关键代码如下:final String names = "文件名", "连接线程状态", "文件大小", "是否完成", "下载百分比","下载速度","剩余时间","线程数","URL","HTTP状态码" /设定列名数组private ArrayList<Object> tabledata = new ArrayList<Object>(); private Array

    注意事项

    本文(基于HTTP的多线程下载器毕业论文(37页).docx)为本站会员(1595****071)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开