继承Thread类练习-多线程下载图片
继承Thread类练习-多线程下载图片
附上视频连接https://www.kuangstudy.com/course/play/1317506465254887425
准备工作
-
在java目录下新建lib目录,下载commons.io包(org.apache)jar包文件放在lib目录下;
-
右键点击lib目录->Add as Library
代码:
package com.example.multi_thread;
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
import java.net.URL;
public class TestThread2 extends Thread {
private String url;
private String imageName;
public TestThread2(String url, String imageName) {
this.url = url;
this.imageName = imageName;
}
@Override
public void run() {
WebDownloader webDownloader = new WebDownloader();
webDownloader.download(url, imageName);
System.out.println("下载了图片:" + imageName);
}
public static void main(String[] args) {
TestThread2 t1 = new TestThread2("https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png", "D:\\old_drive_F\\项目\\2021\\demo_kunag\\src\\main\\java\\com\\example\\multi_thread\\1.jpg");
TestThread2 t2 = new TestThread2("https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png", "D:\\old_drive_F\\项目\\2021\\demo_kunag\\src\\main\\java\\com\\example\\multi_thread\\2.jpg");
TestThread2 t3 = new TestThread2("https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png", "D:\\old_drive_F\\项目\\2021\\demo_kunag\\src\\main\\java\\com\\example\\multi_thread\\3.jpg");
t1.start();
t2.start();
t3.start();
}
}
class WebDownloader {
public void download(String url, String imageName) {
try {
FileUtils.copyURLToFile(new URL(url), new File(imageName));
} catch (IOException e) {
e.printStackTrace();
System.out.println("IO异常,downloader方法出现问题");
}
}
}
运行结果
下载了图片:D:\old_drive_F\项目\2021\demo_kunag\src\main\java\com\example\multi_thread\2.jpg
下载了图片:D:\old_drive_F\项目\2021\demo_kunag\src\main\java\com\example\multi_thread\1.jpg
下载了图片:D:\old_drive_F\项目\2021\demo_kunag\src\main\java\com\example\multi_thread\3.jpg