资源简介
功能介绍:
1、基本下载功能;
2、支持多任务多线程同时下载;
3、线程数由用户在新建任务时设定(若大于线程数20则默认为20);
4、下载过程中可以暂停,点击开始可以继续下载;
5、点击菜单栏“任务——退出程序”正常退出,可以保存当前未下载完成的任务,等待下次继续下载(建议先暂停所有任务再退出程序,以免丢失信息!);
6、点击“打开”可以查看之前未下载完成的任务,继续下载;
7、可以删除任务,若任务在运行则提示暂停后再操作,若任务已经完成可以选择是否和已下载的文件一同删除;
8、在下载过程中,可以点击“线程+”或“线程-”即时增减线程,但是线程数必须大于等于1且小于等于20;
9、“下载分块图示”用于显示下载过程的分块信息,及相关块的完成情况(灰色为未下载,绿色为下载中,蓝色为完成);
……
注:每次运行程序就会自动创建F:/myDownloader/taskManager_2文件夹,用于保存文件下载的部分信息……
代码片段和文件信息
package hn.download;
import hn.manager.DownLoadManager;
import hn.manager.DownloadUtil;
import hn.manager.TaskManager;
import hn.model.FileInformation;
import hn.model.Piece;
import java.io.File;
import java.io.IOException;
import java.io.Serializable;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.JOptionPane;
public class DownloadReady implements RunnableSerializable{
private static final long serialVersionUID = 1L;
public static final int STATE_NEW = 1;
public static final int STATE_RUNNING = 2;
public static final int STATE_COMPLETED = 3;
public static final int STATE_PAUSED = 4;
public static final int STATE_FAILED = 5;
public static final int THREAD_MAX = 20;
public int status;
private String urlString;
private String fileLocation;
private String file;
private String realFileName;
private String filePostfix;
private String fileName;
private int threadSum;
private int fileSize;
private MyThread[] mts;
private PieceManager pm;
private long startTime;
private URL downloadURL;
private SimpleDateFormat formatter;
private String downloadProgress;
private String downloadSpeed;
private long useTime;
private long useTime0;
private FileInformation fileInformation;
private long dledFileSize;
private Piece[] pieces;
public static final int PIECEAMOUNT = 20;
public static final int PIECE_LEISURE = 0;
public static final int PIECE_BUSY = 1;
public static final int PIECE_COMPLETE = 2;
public DownloadReady(String urlString int threadSum0 String locationString fileName)
throws IOException {
this.urlString = urlString;
downloadURL = new URL(urlString);// 获得数据地址
threadSum = threadSum0;
fileLocation = location;
URLConnection urlConnection = downloadURL.openConnection();// 打开连接
urlConnection.connect();
fileSize = urlConnection.getContentLength();// 取得文件长度
if (fileSize == -1) {
fileSize = Integer.MAX_VALUE;// 若长度取不到(未知)给予int最大值
}
realFileName = downloadURL.getFile(); // 取得文件路径
filePostfix = realFileName.split(“\\.“)[realFileName.split(“\\.“).length - 1];
this.fileName = fileName + “.“ +filePostfix;
startTime = System.currentTimeMillis();
formatter = new SimpleDateFormat(“h:mm:ss a‘ / ‘yyyy-MM-dd“);// 时间格式
file = fileLocation + this.fileName;
status = STATE_NEW;
downloadProgress = “0“;
downloadSpeed = “0k/s“;
useTime = 0;
useTime0 = 0;
getMessages();
mts = new MyThread[THREAD_MAX];
}
public FileInformation getMessages(){
fileInformation = new FileInformation();
fileInformation.setStatus(status);
fileInformation.setFileName(fileName);
fileInformation.setFileSize(fileSize);
fileInformation.setDledFileSize((int)dledFileSize);
fileInformation.setDownloadProgress(downloadP
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1413 2009-04-10 19:42 _myDownloader\images\imgContinueTask.jpg
文件 3895 2009-04-10 19:42 _myDownloader\images\imgDeleteTask.JPG
文件 1343 2009-04-10 19:42 _myDownloader\images\imgNewTask.jpg
文件 1348 2009-04-10 19:42 _myDownloader\images\imgPauseTask.jpg
文件 1499 2009-04-10 19:49 _myDownloader\images\imgPreviousTask.jpg
..A.SH. 7680 2009-04-11 13:31 _myDownloader\images\Thumbs.db
文件 60563 2009-04-12 13:20 _myDownloader\myDownloader.jar
文件 383 2009-04-11 13:40 _myDownloader\myDowloader\.project
文件 232 2009-04-11 13:40 _myDownloader\myDowloader\.classpath
文件 1413 2009-04-11 13:40 _myDownloader\myDowloader\images\imgContinueTask.jpg
文件 3895 2009-04-11 13:40 _myDownloader\myDowloader\images\imgDeleteTask.JPG
文件 1343 2009-04-11 13:40 _myDownloader\myDowloader\images\imgNewTask.jpg
文件 1348 2009-04-11 13:40 _myDownloader\myDowloader\images\imgPauseTask.jpg
文件 1499 2009-04-11 13:40 _myDownloader\myDowloader\images\imgPreviousTask.jpg
文件 17920 2009-04-11 13:40 _myDownloader\myDowloader\images\Thumbs.db
文件 3922 2009-04-11 14:18 _myDownloader\myDowloader\bin\hn\download\MyThread.class
文件 561 2009-04-11 08:40 _myDownloader\myDowloader\bin\hn\download\Main.class
文件 1422 2009-04-11 13:40 _myDownloader\myDowloader\bin\hn\download\FileAccess.class
文件 7769 2009-04-11 13:40 _myDownloader\myDowloader\bin\hn\download\DownloadReady.class
文件 3244 2009-04-11 13:40 _myDownloader\myDowloader\bin\hn\download\DownloadReady$InnerThread.class
文件 1154 2009-04-11 13:40 _myDownloader\myDowloader\bin\hn\download\PieceManager.class
文件 3443 2009-04-11 13:40 _myDownloader\myDowloader\bin\hn\manager\TaskManager.class
文件 4371 2009-04-11 13:40 _myDownloader\myDowloader\bin\hn\manager\DownloadUtil.class
文件 24678 2009-04-12 13:16 _myDownloader\myDowloader\bin\hn\manager\DownLoadManager.class
文件 1029 2009-04-12 13:16 _myDownloader\myDowloader\bin\hn\manager\DownLoadManager$1.class
文件 1604 2009-04-12 13:16 _myDownloader\myDowloader\bin\hn\manager\DownLoadManager$2.class
文件 1473 2009-04-11 13:40 _myDownloader\myDowloader\bin\hn\model\MyTableModel.class
文件 2548 2009-04-11 08:40 _myDownloader\myDowloader\bin\hn\model\MyTableColumnModel.class
文件 2669 2009-04-11 13:40 _myDownloader\myDowloader\bin\hn\model\FileInformation.class
文件 1963 2009-04-11 13:40 _myDownloader\myDowloader\bin\hn\model\ProgressRenderer.class
............此处省略42个文件信息
- 上一篇:app跳转微信小程序
- 下一篇:Android应用源码安卓简单实用课程表项目
相关资源
- java使用HttpClient通过url文件到本地
- Android+SDK+2.0+与安装教程
- junit-4.12.jar包完整版
- jspsmart.jar
- JSPSmartUpload.zip
- 练习--java实现的打字游戏
- 断点续传 JAVA版 迅雷
- Java多线程自动播放图片的小程序
- java基于socket/server的多线程聊天室程序
- 多线程Web服务器的设计与实现
- android jni使用curl进行http请求和文件
- CSDN Share:大会PPT合集,纯干货!
- Java多线程实现生产者消费者
- 基于java socket的机票预订程序
- 哲学家就餐:Java多线程图形版
- 利用java多线程汉字打字练习程序
- javaweb简单实现文件上传与源代码
- JAVA多线程编程详解-详细操作(转自
- JAVA运用多线程实现碰撞的小球
- java多线程模拟队列实现排队叫号
- Eclipse开发Web项目
- AdbWinApi.dll
- java swing url器
- 成功解决 Android 中文文件名
- webUploader断点续传js+java代码及说明
- java龟兔赛跑小程序
- Android中FTP含进度上传、、删除文件
- 龟兔赛跑JAVA小程序
- FileUploadAndDownLoad
- Java多线程断点Sample
评论
共有 条评论