1. 程式人生 > 其它 >java多執行緒 圖片下載

java多執行緒 圖片下載

1,需要導一個jar包;commons-io-2.11.0.jar

2,編寫程式碼

package com.xiang.lesson02;

import org.apache.commons.io.FileUtils;

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

//練習 Thread ,實現多執行緒同步下載圖片
public class TestThread1 extends Thread {
//    繼承 Thread類;

    private String url; //網路圖片地址
    private String name;//儲存的檔名

    public TestThread1(String url, String name) {
        this.name = name;
        this.url = url;

    }


    //    重寫run方法
//    下載圖片執行緒的執行體
    @Override
    public void run() {
        WebDownloader downloader = new WebDownloader();
        downloader.downloader(url,name);
        System.out.println("下載了檔名:"+name);
    }

    public static void main(String[] args) {
        TestThread1 t1 = new TestThread1("https://img-home.csdnimg.cn/images/20210907093842.jpg","t1.jpg");
        TestThread1 t2 = new TestThread1("https://img-blog.csdnimg.cn/234ef937b8924d0a81271085511f6223.png","t2.jpg");
        TestThread1 t3 = new TestThread1("https://img-blog.csdnimg.cn/img_convert/baf51d796db22a6a03c0ce7caf378f6f.png","t3.jpg");

//        啟動執行緒
        t1.start();
        t2.start();
        t3.start();
    }
}

class WebDownloader {
    //    下載方法
    public void downloader(String url, String name) {
        try {
//             copyURLToFile 把網頁地址,變成一個檔案;
            FileUtils.copyURLToFile(new URL(url), new File(name));
        } catch (IOException e) {
            e.printStackTrace();
            System.out.println("IO異常,downloader方法出現問題");
        }
    }
}

3,執行結果