第一引用IO包:IO包 Commons 针对开发IO流功能的工具类库,网上下载
第二使用FileUtils文件工具,复制URl到文件
IDEA引入架包后不能直接用,需要右键找到Add as Library,把他添加到类库中
package Threads;
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
//练习Thread,实现多线程同步下载图片
public class Mylt extends Thread {
//创建变量
private String url;
private String name;
public Mylt(){}
public Mylt(String url, String name){
this.url=url;
this.name=name;
}
//线程体:下载图片线程的执行体
public void run(){
WebDownloader webDownloader=new WebDownloader();
//调用下载器中的方法
webDownloader.downloader(url,name);
System.out.println("下载了文件名为:"+name);
}
public static void main(String []args){
Mylt t1=new Mylt("https://img01.sogoucdn.com/app/a/100520021/3b453574cfbfd216bc9e22b7aedb75a3","01.jpg");
Mylt t2=new Mylt("https://img01.sogoucdn.com/app/a/100520021/3b453574cfbfd216bc9e22b7aedb75a3","02.jpg");
Mylt t3=new Mylt("https://img01.sogoucdn.com/app/a/100520021/3b453574cfbfd216bc9e22b7aedb75a3","03.jpg");
//启动线程:由cpu调度来选择那个线程先执行
t1.start();
t2.start();
t3.start();
}
}
//下载器
class WebDownloader{
//下载方法
public void downloader(String url,String name){
try{
//copyURLToFile:把网上的文件地址,变成一个文件,new URL(url):添加一个网络路径,new File(name):添加一个文件路径
FileUtils.copyURLToFile(new URL(url),new File(name));
}catch(IOException e){
e.printStackTrace();
System.out.println("IO异常,downloader出现问题");
}
}
}