多线程练习之实现多张图片下载
今天进行了关于的多线程的学习,做了一个多张图片下载的小练习
package Demo;
import java.io.File;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import org.apache.commons.io.FileUtils;//网上自己下载commons-io包
public class ThreadTest extends Thread {//线程的创建继承Thread类
private String url;
private String name;
//创建构造器
public ThreadTest(String url,String name) {
this.name=name;
this.url=url;
}
//重写run方法
@Override
public void run() {
DownLoader loader =new DownLoader();
loader.downloader(url, name);
System.out.println("下载了文件"+name);
}
//创建主线程
public static void main(String[] args) {
ThreadTest t1 =new ThreadTest("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1600718722119&di=6476bae2c2d8367732490f041d023d51&imgtype=0&src=http%3A%2F%2Fa3.att.hudong.com%2F14%2F75%2F01300000164186121366756803686.jpg","1.jpg");
ThreadTest t2 =new ThreadTest("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1600718754622&di=cda558a5ef679e8cbcb3ca3719d0406b&imgtype=0&src=http%3A%2F%2Fa4.att.hudong.com%2F22%2F59%2F19300001325156131228593878903.jpg","2.jpg");
ThreadTest t3 =new ThreadTest("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1600718754622&di=929e61033d3479fb983c8dd9b86f3dc7&imgtype=0&src=http%3A%2F%2Fa0.att.hudong.com%2F18%2F56%2F14300000958002128488569856508.jpg","3.jpg");
t1.start();
t2.start();
t3.start();
}
//创建下载器
class DownLoader{
public void downloader(String url,String name){
try {
使用了copyURLToFile();方法进行图片的下载
FileUtils.copyURLToFile(new URL(url), new File(name));
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("下载器出现问题");
}
}
}
}