老师布置作业,以下是基础代码(已实现在本机上下载某文件)。希望在以下代码上增加。要求用多线程(只要两个线程)进行下载。模拟迅雷,下载过程中,未下载完时,文件有两个(一个是要下载的文件的内容,另一个是记录有关下载的信息之类的),下载完后才是最终的文件。
import java.net.*;
import java.io.*;
public class EtDown{
public static void main(String[]args)throws Exception{
URL url = new URL("http://192.168.2.103:8080/jdk.zip");
URLConnection con = url.openConnection();
InputStream in = con.getInputStream();
byte[]b = new byte[1024*8*100];
int i = in.read(b);//i表示实际上读取了多少字节
FileOutputStream out = new FileOutputStream("robin.zip");
while(i!=-1){
System.out.println(i);
out.write(b,0,i);
i=in.read(b);
}
}
}
import java.net.*;
import java.io.*;
public class EtDown{
public static void main(String[]args)throws Exception{
URL url = new URL("http://192.168.2.103:8080/jdk.zip");
URLConnection con = url.openConnection();
InputStream in = con.getInputStream();
byte[]b = new byte[1024*8*100];
int i = in.read(b);//i表示实际上读取了多少字节
FileOutputStream out = new FileOutputStream("robin.zip");
while(i!=-1){
System.out.println(i);
out.write(b,0,i);
i=in.read(b);
}
}
}
http://www.easygeteasy.com