java开发断点续传,多线程下载工具
下载主类DownUtil
import java.io.*;
import java.net.*;
import java.util.concurrent.*;
import java.net.URLConnection.*;
import java.nio.file.*;
import java.util.regex.*;
public class DownUtil
{
private int startPosit;
private String path;
private String targetFile;
private int threadNum;
private DownThread[] threads;
private int fileSize;
public int fileSize0;
public DownUtil(String path,String targetFile,int threadNum)
{
this.path = path;
this.targetFile = targetFile;
this.threadNum = threadNum;
this.threads = new DownThread[threadNum];
}
public void download()
throws Exception
{
var url = new URL(path);
var conn = (HttpURLConnection)url.openConnection();
conn.setConnectTimeout(5*1000);
conn.setRequestMethod("GET");
conn.setRequestProperty("Accept-Ranges","bytes");
conn.setRequestProperty("Content-Length","7877");
conn.setRequestProperty("Content-Type","mage/png");
fileSize = conn.getContentLength();
fileSize0 = conn.getContentLength();
conn.disconnect();
var currentPartSize = fileSize / threadNum + 1;
var file = new RandomAccessFile(targetFile,"rw");
file.setLength(fileSize);
file.close();
for (var i = 0; i <