1 package cn.test.DownLoad; 2 3 import java.io.File; 4 import java.io.InputStream; 5 import java.io.RandomAccessFile; 6 import java.net.HttpURLConnection; 7 import java.net.URL; 8 9 public class MultiPart { 10 public void down() throws Exception 11 { 12 //1、声明URL 13 String fileName="a.rar"; 14 String path="http://localhost:8080/day23_MultiThreadDownLoad/file/"+fileName; 15 URL url=new URL(path); 16 //2、返回连接对象 17 HttpURLConnection conn=(HttpURLConnection) url.openConnection(); 18 //3、设置请求类型 19 conn.setRequestMethod("GET"); 20 //4、设置允许接收消息 21 conn.setDoInput(true); 22 //5、连接 23 conn.connect(); 24 //6、状态码 25 int code=conn.getResponseCode(); 26 if(code==200) 27 { 28 int sum=conn.getContentLength();//总长度 29 String downFile="d:\\"+fileName; 30 //7、创建一个相同大小的空文件 31 RandomAccessFile file=new RandomAccessFile(new File(downFile), "rw"); 32 file.setLength(sum); 33 file.close(); 34 //8、声明线程数量 35 int threadCount=3; 36 //9、声明每个线程的下载量 37 int threadSize=sum/threadCount+((sum%threadCount==0)?0:1); 38 for(int i=0;i