本人大四即将毕业的准程序员(JavaSE、JavaEE、android等)一枚,小项目也做过一点,于是乎一时兴起就写了一些工具。
我会在本博客中陆续发布一些平时可能会用到的工具。
代码质量可能不是很好,大家多担待!
代码或者思路有不妥之处,还希望大牛们能不吝赐教哈!
以下代码为本人原创,转载请注明:
本文转载,来自:http://www.cnblogs.com/tiantianbyconan/archive/2013/02/20/2919132.html
JFileDownloader:用于多线程下载网络文件,并保存在本地。
源码如下:
1.JFileDownloader类:主要负责下载的初始化可启动工作。
View Code
2.JFileDownloadListener接口:该接口用于监听JFileDownloader下载的进度。
View Code
3.JFileDownloaderNotificationThread类:该线程为通知下载进度的线程。
View Code
4.JFileDownloadThread类:真正的下载线程,该线程用于执行该线程所要负责下载的数据。
View Code
使用方法如下:
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 }
本文转自天天_byconan博客园博客,原文链接:http://www.cnblogs.com/tiantianbyconan/archive/2013/02/20/2919132.html
,如需转载请自行联系原作者