笔记20200510:多线程【网图下载案例】

package com.chengguo.线程;

import org.apache.commons.io.FileUtils;

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

/**
 * 练习Thread,实现多线程同步下载图片
 */
public class Demo_20200508004_Thread extends Thread {
    private String url;//代表网络图片地址
    private String name;//代表保存的文件名

    //构造器
    public Demo_20200508004_Thread(String url, String name) {
        this.url = url;
        this.name = name;
    }
    //下载图片线程的执行体
    @Override
    public void run() {
        WebDownLoader wdl = new WebDownLoader();
        wdl.downloader(url, name);
        System.out.println("下载的文件名为:" + name);
    }

    //主方法
    public static void main(String[] args) {
        //创建线程
        Demo_20200508004_Thread dt = new Demo_20200508004_Thread("https://img2020.cnblogs.com/blog/1477439/202004/1477439-20200430105743773-1555437373.png", "2.png");
        dt.start();
    }
}

    //下载器
    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异常,downloader方法出现问题……");
        }
    }
}

  

posted @ 2020-05-26 00:16  忧桑の民工  阅读(94)  评论(0编辑  收藏  举报