首页>代码>java多线程下载文件源码下载>/多线程下载/duoxiancheng2/src/com/wgtgt/Main.java
package com.wgtgt;

import java.io.File;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.ProtocolException;
import java.net.URL;
import java.net.HttpURLConnection;

import com.wgtgt.utils.MutilThreadUtil;

public class Main {

	/**
	 * 程序入口
	 * 请修改下载文件的地址与文件的保存地址
	 * 下载完需要手动合并文件,请启动com.wgtgt.join.Main
	 * @param args
	 * @author 冰水华川 QQ757225051
	 */
	public static void main(String[] args) {
		String path="http://127.0.0.1:8080/duoxiancheng/workspace.zip";
		//String fullName="C:/Users/Administrator/Desktop/temp";
		String tempFolder="C:/Users/Administrator/Desktop/temp";
		int countThread=5;
		download(path,countThread,tempFolder);

	}

	private static void download(String path,int countThread,
			String tempFolder) {
		File tempFolderDir=new File(tempFolder);
		if(!tempFolderDir.exists()){
			tempFolderDir.mkdirs();
		}
		try {
			URL url=new URL(path);
			HttpURLConnection conn=(HttpURLConnection)url.openConnection();
			conn.setConnectTimeout(5000);
			conn.setRequestMethod("POST");
			int code=conn.getResponseCode();
			//System.out.println(code);
			if(code==200){
				int fileLength=conn.getContentLength();
				int startIndex;
				int endIndex;
				int threadId;
				int[][]nums=MutilThreadUtil.split(fileLength, countThread);
				for (int i = 0; i < nums.length; i++) {
					threadId=i;
					startIndex=nums[i][0];
					endIndex=nums[i][1];
					new DownLoadThread(path,tempFolder,startIndex,endIndex,threadId).start();
					System.out.println(startIndex+","+endIndex);
				}			
			}
		} catch (MalformedURLException e) {
			e.printStackTrace();
		} catch (ProtocolException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		
	}

}
最近下载更多
duxing  LV2 2022年6月10日
mylzdy  LV12 2022年5月21日
顾北城  LV12 2022年5月8日
zhenghongixin4065  LV9 2021年1月25日
3063686836  LV4 2020年7月16日
liuyilin9608  LV15 2020年5月17日
黄丹丹  LV2 2020年1月17日
wangyan110  LV2 2019年11月7日
初秋若寒  LV10 2019年10月15日
倪卟懂  LV18 2019年7月23日
最近浏览更多
snowing_for  LV9 11月25日
liu1221  LV1 4月20日
Small CN  LV7 2023年1月12日
heqian  LV17 2022年10月17日
我们都是小怪兽  LV3 2022年9月6日
MoonSight  LV1 2022年7月1日
xuexizhuanyong23  LV16 2022年6月29日
lingqianjue  LV3 2022年6月14日
duxing  LV2 2022年6月10日
ajie2123  LV4 2022年5月28日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友