📄 download.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 + -