网络图片下载

第一步:导入commons-io-2.6.jar
第二步:编写代码

package com.thread.test3;

import org.apache.commons.io.FileUtils;

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

//练习Thread ,实现多线程同步下载图片
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() {
        WebDownloder webDownloder = new WebDownloder();
        webDownloder.downloder(url,name);
        System.out.println("下载了文件名为"+name);
    }


    public static void main(String[] args) {
        TestThread2 t1 = new TestThread2("https://i0.hdslb.com/bfs/archive/5c2bafe17dd19215a4346c047d5b2cb0c19f958c.png","1.png");
        TestThread2 t2 = new TestThread2("https://i0.hdslb.com/bfs/archive/81612a622ed8b88ebda750ee14b7f9cc3431f43c.jpg@672w_378h_1c.webp","2.jpg");
        TestThread2 t3 = new TestThread2("https://i0.hdslb.com/bfs/archive/bc232c2e1886d965d762979d01de4cea7d738150.jpg@672w_378h_1c.webp","3.jpg");

        //理想情况
        //1
        t1.start();
        //2
        t2.start();
        //3
        t3.start();
    }

}


//下载器
class WebDownloder{
    //下载方法
    public void downloder(String url,String name){
        try {
            FileUtils.copyURLToFile(new URL(url),new File(name));
        } catch (IOException e) {
            e.printStackTrace();
            System.out.println("IO异常,downloder出现问题");
        }
    }
}

//注意:线程不一定立即执行,由CPU调度安排

posted @ 2022-04-28 16:22  好12  阅读(118)  评论(0)    收藏  举报