⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 taskmodel.java

📁 一个Mp3在线搜索器
💻 JAVA
字号:
/* * To change this template, choose Tools | Templates * and open the template in the editor. */package biz.tbuy.huliqing.jloading;import biz.tbuy.huliqing.jloading.downloader.Config;import biz.tbuy.huliqing.jloading.downloader.Downloader;import java.text.SimpleDateFormat;import java.util.Calendar;/** * * @author huliqing */public class TaskModel {    //private Config config;  // 状态保存文件        public final static String[] TITLES = {        "状态", "文件", "大小", "进度", "速度", "已下载", "剩余时间", "类型", "下载目录"    };        public final static int COLUMN_STATE = 0;   // 状态    public final static int COLUMN_NAME = 1;    // 文件名    public final static int COLUMN_SIZE = 2;    // 文件大小(字节)    public final static int COLUMN_PROCESS = 3; // 进度    public final static int COLUMN_SPEED = 4;   // 速度    public final static int COLUMN_LOADED = 5;  // 已经下载    public final static int COLUMN_LEAVE = 6;   // 剩余时间    public final static int COLUMN_TYPE = 7;    // 文件类型    public final static int COLUMN_SAVE = 8;    // 文件下载路径        // 字段(显示)    //private String state;    private String name;    private long size;    private long process;    private long speed;    private long loaded;    private String leave;    private String type;    private String save;    // 保存路径        private String taskid;  // 任务标识    private String url;     // 下载源地址(非显示)        public TaskModel(Config config) {        taskid = config.getId();        name = config.getName();        url = config.getURLs().get(0);        save = config.getSave();        size = config.getLength();        type = url.substring(url.lastIndexOf(".") + 1);        init();    }        public TaskModel(String taskid, String name, String url, String save) {        this.taskid = taskid;        this.name = name;        this.url = url;        this.save = save;        type = url.substring(url.lastIndexOf(".") + 1);        init();    }        private void init() {        if (downloader == null) {            TaskManager tm = TaskManager.getInstance();            Config config = tm.getConfig(taskid);            if (config != null) {                //System.out.println("config存在");                downloader = new Downloader(config);            } else {                //System.out.println("config不存在");                downloader = new Downloader(taskid, name, url, save, 12);            }        }    }        // -------------------------------------------------- 121214e3243543654353        public Object getColumnValue(int columnIndex) {        switch (columnIndex) {            case COLUMN_STATE:{                return getState();            }            case COLUMN_NAME:{                 return name;            }            case COLUMN_SIZE:{                if (downloader != null) {                    size = downloader.getTotalBytes();                }                return size;            }            case COLUMN_PROCESS:{                if (size == 0) return 0;                process = loaded * 100 / size;                return (int) process;            }            case COLUMN_SPEED:{                if (downloader != null) {                    speed = downloader.getSpeed();                } else {                    speed = 0;                }                return speed + " k/s";            }            case COLUMN_LOADED:{                if (downloader != null) {                    loaded = downloader.getReadBytes();                }                return loaded + " bytes";            }            case COLUMN_LEAVE:{                leave = getLeaveTime();                return leave;            }            case COLUMN_TYPE:{                 return type;            }            case COLUMN_SAVE:{                 return save == null ? "": save;            }        }        return null;    }        Calendar cal = Calendar.getInstance();    SimpleDateFormat stf = new SimpleDateFormat("mm:ss");    public String getLeaveTime() {        if (speed <= 0) return "";        long leaveTime = (size - loaded) / speed;        long temp = (leaveTime / 1000 / 60 / 60);        String hh;        if (temp < 10) {            hh = "0" + temp;        } else {            hh = String.valueOf(temp);        }        cal.setTimeInMillis(leaveTime);        return (hh + ":" + stf.format(cal.getTime()));    }    // -------------------------------------------------- downloader        private Downloader downloader;        /** 开始任务下载 */    public void toStart() {        if (downloader == null) init();        downloader.toStart();    }        /** 暂停任务 */    public void toPause() {        if (downloader != null) {            downloader.toPause();        }    }        /** 停止任务下载 */    public void toStop() {        if (downloader != null) {            downloader.toStop();            downloader = null;        }    }        /** 删除任务 */    public boolean toDelete() {        if (downloader != null) {            return downloader.toDelete();        }        return false;    }        // --------------------------------------------------         public String getState() {        if (downloader == null) return "None";        if (downloader.isNone()) {            return "None";        } else if (downloader.isReady()) {            return "Ready";        } else if (downloader.isLoading()) {            return "Loading";        } else if (downloader.isPaused()) {            return "Pause";        } else if (downloader.isOk()) {            return "Ok";        } else if (downloader.isStopped()) {            return "Stop";        }        return "";    }        /** 获取任务标识 */    public String getTaskid() {        return taskid;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -