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

📄 download.java

📁 上传工具的JAVA版本
💻 JAVA
字号:
import java.io.*;
import java.net.*;
import java.util.*;
/**
 * 管理对一个文件的多线程下载
 * */
class download extends Thread {
    int Num = 0;
    String urlString;
    URLInfo urlInfo;
    getFile[] getFileThread;
    splitFile sf;
    int[] startPos;
    int[] endPos;
    public download(int aNum, String aUrlString) {
        Num = aNum;
        urlString = aUrlString;
        try {
            urlInfo = new URLInfo(urlString);
            getFileThread = new getFile[Num];
            sf = new splitFile(urlInfo.getFileLength(), Num);
            startPos = sf.getStartPos();
            endPos = sf.getEndPos();
        } catch (MalformedURLException me) {
            me.printStackTrace();
            System.out.println("URL非法!");
        } catch (IOException ie) {
            ie.printStackTrace();
            System.out.println("IO错误!");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public void run() {
        downloadThread();
    }

    public void downloadThread() {
        try {
               for (int i = 0; i < Num; i++) {
                getFileThread[i] = new getFile(startPos[i],
                                               endPos[i],
                                               urlInfo.getURL(),
                                               urlInfo.getFileName(),
                                               "Thread [" + i + "]"
                                               );
                getFileThread[i].starThread();
                getFileThread[i].sleep(500);
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {}
    }
}

⌨️ 快捷键说明

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