一个两分钟就能学会的多线程同学下载多张图片和文件的方法

1.先创建一个下载类

这里的commons-io包需要先导入进来。如果不知道怎么导入可以在
https://mvnrepository.com/artifact/commons-io/commons-io/2.4
下载

import java.io.File;
import java.io.IOException;

import java.net.URL;


import org.apache.commons.io.FileUtils;

/**
 * 
 * @author Administrator
 *
 */
public class Download {
    
    
	

	public  void getHttpConnection(String weburl,String name) throws IOException  {
    
    
		URL url = new URL(weburl);
		File file = new File(name);
		//主要用到时commons-io包里的copyURLToFile的方法
		FileUtils.copyURLToFile(url,file); 
		
		
	}
	
	}
	

然后在创建一个多线程在跑的类

代码如下(示例):

mport java.io.IOException;

public class TestDownLoad extends Thread {
    
    
	private String url;
	private String name;
	//提供一个有参构造,方便从下面的方法中传递过来
	public TestDownLoad(String url, String name) {
    
    
		super();
		this.url = url;
		this.name = name;
	}

	public static void main(String[] args) {
    
    
	//
		TestDownLoad ts1 = new TestDownLoad("https://ss0.bdstatic.com/94oJfD_bAAcT8t7mm9GUKT-xh_/timg?image&quality=100&size=b4000_4000&sec=1606128099&di=0621c9de5e9def85b44c4fad6f16b5f8&src=http://pic3.nipic.com/20090717/2658142_092857095_2.jpg",
				"123.jpg");
		TestDownLoad ts2 = new TestDownLoad("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1606138474663&di=2c981c88e45029cf33b106da78972c1a&imgtype=0&src=http%3A%2F%2Fhbimg.b0.upaiyun.com%2Fe1014181f17b99c817cdb7aa0862b34c2a16fbd96d10f-9EiChL_fw658",
				"456.jpg");
		
		
		TestDownLoad ts3 = new TestDownLoad("https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=218227935,898866346&fm=26&gp=0.jpg","che.jpg");
	//statrt调用下面的run方法
	ts1.start();
	ts2.start();
	ts3.start();
	
	}

	@Override
	public void run() {
    
    
	在这里我在调用哪个下载类的实例,就完成了,把地址和名字传递过去的目的。
		Download dl = new Download();
		
		try {
    
    
			dl.getHttpConnection(url,name);
		} catch (IOException e) {
    
    
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}
	
	
}

总结

这个方法是十分简单和方便的,代码也不多的,也不需要设置很多参数。比较适用于新手进行试验。

猜你喜欢

转载自blog.csdn.net/bluelimon/article/details/110183484
今日推荐