您的位置:首页 > 编程语言 > Java开发

JAVA多线程初探:三个线程下载B站首页图片

2020-04-20 14:20 260 查看
import org.apache.commons.io.FileUtils;

import java.io.File;
import java.io.IOException;
import java.net.URL;

//练习Thread,实现多线程下载图片
public class TestThread02 extends Thread{
private String url; //网络图片地址
private String name;//文件名

public TestThread02(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) {
TestThread02 t1 = new TestThread02("https://i0.hdslb.com/bfs/archive/d84bfd5d474b3b9170b" +
"060f367db162c722cb654.jpg@1100w_484h_1c_100q.jpg","1.jpg");
TestThread02 t2 = new TestThread02("https://i0.hdslb.com/bfs/sycp/creative_img/202004/f2" +
"338405fba5c61cfb130794a1501b7c.jpg@1100w_484h_1c_100q.jpg","2.jpg");
TestThread02 t3 = new TestThread02("https://i0.hdslb.com/bfs/archive/d3cf0c917f7547bd1f573c" +
"d95a79384e5fcd6992.png@1100w_484h_1c_100q.png","3.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) {
System.out.println("io异常,downloader方法出现问题!");
}
}
}
  • 下载方法的具体实现封装在WebDownloader类中
  • run方法中实例化WebDownloader类并调用downloader方法
  • 主方法(主线程)中用来创建线程类并调用start()方法开启
  • 注意要引入commons.io这个jar包,需要在Apache官网下载

结果如下

  • 点赞
  • 收藏
  • 分享
  • 文章举报
Jedar0k 发布了62 篇原创文章 · 获赞 0 · 访问量 539 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: