1、在项目中导入文件下载所需的jar包
(1)将commons-io-2.6.jar包放在lib目录下 (2)选中该jar包,右键选择Add as Library… (3)单击OK将添加到库里面 (4)如下图所示状态,便可以使用该jar包中的工具类
2、编写代码实现通过多线程图片下载功能
package cn
.sxy
.demo01
;
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 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
);
}
class WebDownloader {
public void downloader(String url
, String name
) {
try {
FileUtils
.copyURLToFile(new URL(url
), new File(name
));
} catch (IOException e
) {
e
.printStackTrace();
System
.out
.println("IO异常");
}
}
}
public static void main(String
[] args
) {
TestThread2 t1
= new TestThread2("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1593873876965&di=c496fe277d6aa5445221b9cb78598956&imgtype=0&src=http%3A%2F%2Fa3.att.hudong.com%2F14%2F75%2F01300000164186121366756803686.jpg", "img1.jpg");
TestThread2 t2
= new TestThread2("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1593873942745&di=d0fdeecddf43635bd17e7f39941d5f82&imgtype=0&src=http%3A%2F%2Fa0.att.hudong.com%2F56%2F12%2F01300000164151121576126282411.jpg", "img2.jpg");
TestThread2 t3
= new TestThread2("https://ss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=3252521864,872614242&fm=26&gp=0.jpg", "img3.jpg");
t1
.start();
t2
.start();
t3
.start();
}
}
3、测试结果
运行程序,如若出现下述图片中所示,则证明该网络图片下载成功
4、继承Thread类,创建线程的步骤
(1)自定义线程类,继承Thread类 (2)重写run()方法,编写线程执行体 (3)创建线程对象,调用start()方法启动线程 ** 注意事项:线程不一定立即执行,根据CPU安排调度**