[工具库]JFileDownloader工具类——多线程下载网络文件,并保存在本地

本人大四即将毕业的准程序员(JavaSE、JavaEE、android等)一枚,小项目也做过一点,于是乎一时兴起就写了一些工具。

我会在本博客中陆续发布一些平时可能会用到的工具。

代码质量可能不是很好,大家多担待!

代码或者思路有不妥之处,还希望大牛们能不吝赐教哈!

 

以下代码为本人原创,转载请注明:

本文转载,来自:http://www.cnblogs.com/tiantianbyconan/archive/2013/02/20/2919132.html

 

JFileDownloader:用于多线程下载网络文件,并保存在本地。

源码如下:

1.JFileDownloader类:主要负责下载的初始化可启动工作。

[工具库]JFileDownloader工具类——多线程下载网络文件,并保存在本地View Code

 

2.JFileDownloadListener接口:该接口用于监听JFileDownloader下载的进度。

[工具库]JFileDownloader工具类——多线程下载网络文件,并保存在本地View Code

 

3.JFileDownloaderNotificationThread类:该线程为通知下载进度的线程。

[工具库]JFileDownloader工具类——多线程下载网络文件,并保存在本地View Code

 

4.JFileDownloadThread类:真正的下载线程,该线程用于执行该线程所要负责下载的数据。

[工具库]JFileDownloader工具类——多线程下载网络文件,并保存在本地View Code

 

使用方法如下:

[工具库]JFileDownloader工具类——多线程下载网络文件,并保存在本地
 1 String urlPath = "http://localhost:8080/firstserver/files/test.zip";
 2 String destFilePath = "C:\\Users\\admin\\Desktop\\杂\\临时仓库\\test.zip";
 3 int threadCount = 3;
 4 
 5 JFileDownloader downloader = new JFileDownloader(urlPath, destFilePath, threadCount);
 6 //或者:
 7 JFileDownloader downloader = new JFileDownloader()
 8             .setUrlPath(urlPath)
 9             .setDestFilePath(destFilePath)
10             .setThreadCount(threadCount)
11             .setFileDownloadListener(new JFileDownloadListener() { // 设置进度监听器
12                     public void downloadProgress(int progress, double speed, long remainTime) {
13                         System.out.println("文件已下载:" + progress + "%,下载速度为:" + speed + "kb/s,剩余所需时间:" + remainTime + "毫秒");
14                     }
15                     public void downloadCompleted(File file, long downloadTime) {
16                         System.out.println("文件:" + file.getName() + "下载完成,用时:" + downloadTime + "毫秒");
17                     }
18             });
19     try {
20         downloader.startDownload(); // 开始下载
21     } catch (Exception e) {
22         e.printStackTrace();
23     }
[工具库]JFileDownloader工具类——多线程下载网络文件,并保存在本地

 

 

本文转自天天_byconan博客园博客,原文链接:http://www.cnblogs.com/tiantianbyconan/archive/2013/02/20/2919132.html,如需转载请自行联系原作者
上一篇:设计模式之工厂方法模式


下一篇:Lync2013 升级错误总结2 Lync2013 PC和手机客户端登录无法验证