亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? downloader.java

?? mymp3的運行程序的源代碼
?? JAVA
字號:
/* * To change this template, choose Tools | Templates * and open the template in the editor. */package mymp3.downloader;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.URL;import java.text.SimpleDateFormat;import java.util.Calendar;import mymp3.AppConfig;/** * * @author huliqing */public class Downloader extends Thread{    private int state;  // 狀態(tài)    public static final int STATE_STOPPED = 0;  // 停止的    public static final int STATE_LOADING = 1;  // 運行的    public static final int STATE_PAUSED = 2;   // 暫停的    public static final int STATE_OK = 3;       // 完成的        private TaskModel task;    private InputStream in;    private OutputStream out;    private byte[] buff;    private int timeUsed;    private int readBytes;    private int totalBytes;    private int speed;    private final static int BUFFER_SIZE = 1024 * 10;    private File file;    // 完整的文件保存路徑        public Downloader(TaskModel taskModel) {        this.task = taskModel;        Thread tt = new Thread(new Init());        tt.start();    }        private class Init implements Runnable {        public void run() {            init();        }    }        private void init() {        try {            if (totalBytes <= 0) {                URL u = new URL(task.getUrl());                totalBytes = u.openConnection().getContentLength();            }        } catch (Exception ex) {            System.out.println("Exception:" + this.getClass().getName());        }    }        @Override    public void run() {        makeName(); // 由主線程檢查并設(shè)置文件名        File processFile = new File(file.getAbsolutePath() + "_");  // 下載中的文件名        try {            if (totalBytes <= 0) {                init();            }            URL u = new URL(task.getUrl());            in = u.openStream();            BufferedInputStream bis = new BufferedInputStream(in);            buff = new byte[BUFFER_SIZE];            out = new FileOutputStream(processFile);            BufferedOutputStream bos = new BufferedOutputStream(out);            int len;            while (readBytes < totalBytes) {                long start = System.currentTimeMillis();                len = bis.read(buff, 0, buff.length);                bos.write(buff, 0, len);                long end = System.currentTimeMillis();                timeUsed += (end - start);                readBytes += len;                synchronized (this) {                    if (isPaused()) {                        try {                            this.wait();                        } catch (InterruptedException ie) {                            System.out.println("InterruptedException");                        }                    }                }                if (Thread.interrupted()) {                    toStop();                    in.close();                    out.close();                    return;                }            }            // 將文件重命名            in.close();            out.close();            if (processFile.renameTo(file)) {                state = STATE_OK;   // 設(shè)置狀態(tài)為完成            } else {                System.out.println("重命名失敗!");            }        } catch (IOException ioe) {            toStop();            System.out.println(this.getClass().getSimpleName() + ":IOException");        }    }        private synchronized void makeName() {   // 處理完整的文件保存路徑        int n = 0;        String url = task.getUrl();        String filename = AppConfig.getInstance().getSavePath() +                 "\\" + task.getName().trim() + url.substring(url.lastIndexOf("."));        File f1 = new File(filename);        File f2 = new File(filename + "_");        while (f1.exists() || f2.exists()) {            n++;            filename = AppConfig.getInstance().getSavePath() + "\\" +                 task.getName().trim() + "[" + n + "]" +                url.substring(url.lastIndexOf("."));            f1 = new File(filename);            f2 = new File(filename + "_");        }        try {            f2.createNewFile();        } catch (Exception exception) {        }        file = f1;    }        /** 開始下載任務(wù) */    public synchronized void toStart() {        if (isStopped()) {            this.start();        } else if (isPaused()) {            this.notifyAll();        }        this.state = STATE_LOADING;    }        /** 停下下載任務(wù) */    public void stopDownload() {        this.state = STATE_STOPPED;        this.interrupt();    }        private synchronized void toStop() {        this.state = STATE_STOPPED;    }        public synchronized boolean isStopped() {        return this.state == STATE_STOPPED ? true : false;    }       /** 暫停下載任務(wù) */    public synchronized void toPause() {        this.state = STATE_PAUSED;    }        public synchronized boolean isPaused() {        return this.state == STATE_PAUSED ? true : false;    }        /** 判斷任務(wù)是否已經(jīng)完成 */    public boolean isOk() {        return this.state == STATE_OK ? true : false;    }        // ------------------------------------------------------------        /** 獲取下載速度 */    public int getTimeUsed() {        return timeUsed;    }        /** 獲取已經(jīng)讀取的字節(jié)數(shù)(bytes) */    public int getReadBytes() {        return readBytes;    }        /** 獲取文件大小字節(jié)數(shù)(bytes) */    public int getTotalBytes() {        return totalBytes;    }        /** 獲取運行速度,單位(k/s) */    public int getSpeed() {        if (timeUsed <= 0) return 0;        speed = readBytes / timeUsed;        return speed;    }        /** 獲取剩余時間,格式如:hh:mm:ss */    public String getLeaveTime() {        if (speed <= 0) return "--:--:--";        long leaveTime = (totalBytes - readBytes) / speed;        int temp = (int) (leaveTime / 1000 / 60 / 60);        String hh;        if (temp < 9) {            hh = "0" + temp;        } else {            hh = String.valueOf(temp);        }        Calendar cal = Calendar.getInstance();        cal.setTimeInMillis(leaveTime);        SimpleDateFormat stf = new SimpleDateFormat("mm:ss");        return (hh + ":" + stf.format(cal.getTime()));    }}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品私人影院| 成人黄色av网站在线| 亚洲精品国产视频| 亚洲另类色综合网站| 久久99国产精品久久99| 精油按摩中文字幕久久| 欧美主播一区二区三区| 91精品国产手机| 久久久久久一级片| 中文字幕在线免费不卡| 一区二区在线观看av| 国产美女一区二区| 色综合久久久久综合体| 5858s免费视频成人| 日韩欧美在线综合网| 精品国产乱码久久久久久久久| 精品成人一区二区三区四区| 夜夜嗨av一区二区三区中文字幕 | 色哟哟在线观看一区二区三区| 日韩三级精品电影久久久| 亚洲精品国久久99热| 97久久超碰国产精品| 欧美区一区二区三区| 久久久久久9999| 看国产成人h片视频| 99精品国产视频| 中文字幕中文字幕在线一区| 日本亚洲最大的色成网站www| 国产精品一卡二卡| 欧美日韩在线免费视频| 久久亚洲精品小早川怜子| 亚洲视频在线一区二区| 韩国欧美一区二区| 欧美性视频一区二区三区| 精品国产91乱码一区二区三区| 日本中文字幕一区| 欧美不卡在线视频| 亚洲激情av在线| 92精品国产成人观看免费| 亚洲欧美日韩国产综合在线| 精品一区二区三区免费观看| 欧美哺乳videos| 国产在线一区二区| 久久精品男人天堂av| 热久久久久久久| 欧美性猛交xxxx黑人交| 亚洲香肠在线观看| 94-欧美-setu| 性感美女久久精品| 色婷婷av一区二区三区gif| 一区二区激情视频| 717成人午夜免费福利电影| 乱一区二区av| 中文字幕一区av| 欧美日韩精品一二三区| 久久精品国产成人一区二区三区 | 国产视频一区二区在线| 成人激情开心网| 洋洋av久久久久久久一区| 91精品国产色综合久久不卡电影| 国产乱子轮精品视频| 国产精品乱码一区二三区小蝌蚪| 91在线一区二区三区| 日日夜夜免费精品| 欧美日韩1234| 国产高清精品网站| 国产调教视频一区| 在线观看av一区二区| 韩国三级中文字幕hd久久精品| 亚洲色图制服丝袜| 日韩欧美精品在线| 久久99国产精品久久| 国产精品二三区| 欧美一二区视频| 色伊人久久综合中文字幕| 秋霞成人午夜伦在线观看| 国产精品国产三级国产三级人妇 | 亚洲视频精选在线| 精品久久人人做人人爰| 在线一区二区观看| 亚洲成人免费av| 国产午夜精品一区二区三区四区 | 亚洲成a人v欧美综合天堂下载| 亚洲精品一区二区三区蜜桃下载| 色婷婷综合久久| 国产乱人伦偷精品视频免下载| 亚洲图片欧美综合| 亚洲色图制服诱惑 | 国产成人精品综合在线观看 | 精品美女一区二区三区| 欧美性大战久久久久久久蜜臀| 国产精品一区在线| 日本亚洲三级在线| 亚洲一区二区3| 日韩天堂在线观看| 91极品视觉盛宴| 91亚洲永久精品| 男女激情视频一区| 亚洲综合一区二区| 亚洲人成在线观看一区二区| www久久精品| 精品三级在线观看| 日韩限制级电影在线观看| 在线观看精品一区| 91麻豆国产福利精品| gogo大胆日本视频一区| 亚洲电影一级黄| 亚洲成精国产精品女| 亚洲一区二区三区小说| 亚洲激情自拍偷拍| 亚洲精品成人天堂一二三| 亚洲精品欧美在线| 亚洲激情图片小说视频| 亚洲精品乱码久久久久| 亚洲靠逼com| 一区二区三区高清在线| 樱花影视一区二区| 亚洲制服丝袜av| 日韩中文字幕区一区有砖一区| 亚洲精品成人a在线观看| 亚洲一区在线视频观看| 一区二区三区在线观看欧美| 亚洲成人激情av| 日韩极品在线观看| 蜜臀精品一区二区三区在线观看 | 在线看国产一区| 91久久精品一区二区| 欧美日韩中文一区| 欧美一区二区三区在线看| 日韩欧美国产小视频| 337p粉嫩大胆噜噜噜噜噜91av| 久久久99精品免费观看不卡| 国产欧美日韩综合精品一区二区| 欧美美女bb生活片| 91丝袜美腿高跟国产极品老师 | 久久福利资源站| 久久不见久久见中文字幕免费| 国内国产精品久久| 97久久精品人人做人人爽 | 国产日韩欧美精品综合| 18欧美乱大交hd1984| 一区二区在线看| 蜜臀91精品一区二区三区| 成人国产精品免费网站| 欧美日本一区二区在线观看| 精品国产亚洲在线| 亚洲欧美一区二区三区极速播放| 亚洲成在线观看| 国产盗摄一区二区| 欧美性生活影院| 国产欧美一区二区在线| 亚洲超碰精品一区二区| 国产精品亚洲视频| 欧美喷潮久久久xxxxx| 国产女人18水真多18精品一级做| 亚洲精品视频在线看| 国产一区二区中文字幕| 欧美性感一区二区三区| 国产偷国产偷亚洲高清人白洁| 亚洲成人手机在线| eeuss鲁片一区二区三区在线观看| 欧美撒尿777hd撒尿| 欧美激情中文不卡| 亚洲欧洲成人自拍| 麻豆精品视频在线观看免费| 91亚洲永久精品| 久久久精品国产免大香伊| 日韩成人伦理电影在线观看| 99视频精品在线| 国产午夜三级一区二区三| 午夜精品福利视频网站| 韩国午夜理伦三级不卡影院| 欧美三级一区二区| 国产精品丝袜一区| 久久99精品一区二区三区| 欧美性三三影院| 亚洲精品亚洲人成人网在线播放| 国产不卡视频一区| 欧美视频在线观看一区二区| 国产亚洲女人久久久久毛片| 久久精品国产**网站演员| 欧美日韩视频第一区| 一区二区三区丝袜| 91视频91自| 国产精品初高中害羞小美女文| 国产精品综合一区二区| 精品国产1区二区| 麻豆精品一二三| 欧美成人一级视频| 日本sm残虐另类| 日韩一区二区精品葵司在线| 日本成人中文字幕| 在线成人av网站| 免费高清不卡av| 91麻豆精品国产91久久久更新时间| 亚洲国产一区二区三区青草影视 | 99精品一区二区三区| 国产精品视频第一区| 丁香六月综合激情| 欧美久久久久久久久久|