Java网络编程从入门到精通(24):实现HTTP断点续传下载工具 - 编程入门网
de.percent(m * 100 / fileSize);
047 }
048 }
049 fileOut.close();
050 socket.close();
051 }
Java网络编程从入门到精通(24):实现HTTP断点续传下载工具(6)时间:2011-01-12download方法是断点续传工具的核心方法。它有四个参数: 1.DownloadEvent de 用于处理下载事件的接口。 2.String url 要下载文件的URL。 3.String localFN 要保存的本地文件名,可以用这个文件的大小来确定已经下载了多少个字节。 4.int cacheSize 下载数据的缓冲区。也就是一次从服务器下载多个字节。这个值不宜太小,因为,频繁地从服务器下载数据,会降低网络的利用率。一般可以将这个值设为8192(8K)。 为了分析下载文件的url ,在008行使用了URL类,这个类在以后还会介绍,在这里只要知道使用这个类可以将使用各种协议的url (包括HTTP和FTP协议)的各个部分分解,以便单独使用其中的一部分。 第029行:根据文件的实际大小和已经下载的字节数(finishedSize)来判断是否文件是否已经下载完成。当文件的实际大小无法确定时,也就是fileSize返回-1时,不能下载。 第033行:如果文件已经下载了一部分,并且返回的状态码仍是200(应该是206),则表明服务器并不支持断点续传。当然,这可以根据另一个字段Accept-Ranges来判断。 第036行:由于本程序未考虑重定向(状态码是3xx)的情况,因此,在使用download时,不要下载返回3xx状态码的Web资源。 第040 ~ 048行:开始下载文件。第046行调用DownloadEvent的percent方法来返回下载进度。
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |