多线程下载图片
下载地址:Commons IO – Commons IO Overview (apache.org)
解压缩后将jar包导入项目:
lib右键–>add as library
编写代码:
package com.mollzz.demo01;
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
import java.net.URL;
//练习Thread,实现多线程同步下载图片
public class TestThread2 extends Thread{
private String url;
private String name;
public TestThread2(String url,String name){
this.url=url;
this.name=name;
}
//下载图片线程的执行体
@Override
public void run() {
WebDownLoader webDownLoader = new WebDownLoader();
webDownLoader.downloader(url,name);
System.out.println("下载了文件名为:"+name);
}
public static void main(String[] args) {
TestThread2 t1=new TestThread2("https://img2.baidu.com/it/u=3850055283,1350141827&fm=253&fmt=auto&app=120&f=JPEG?w=1188&h=500","baidu1.jpg");
TestThread2 t2=new TestThread2("https://img2.baidu.com/it/u=3850055283,1350141827&fm=253&fmt=auto&app=120&f=JPEG?w=1188&h=500","baidu2.jpg");
TestThread2 t3=new TestThread2("https://img2.baidu.com/it/u=3850055283,1350141827&fm=253&fmt=auto&app=120&f=JPEG?w=1188&h=500","baidu3.jpg");
t1.start();
t2.start();
t3.start();
}
}
//下载器
class WebDownLoader{
//下载方法
public void downloader(String url,String name){
try {
FileUtils.copyURLToFile(new URL(url),new File(name));
} catch (IOException e) {
// throw new RuntimeException(e);
System.out.println("IO异常,downloader方法出现问题");
}
}
}
代码运行结果:
观察到不是按照代码线程顺序下载的