网络图片下载

第一步:导入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 @   好12  阅读(115)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示