java多執行緒 圖片下載
阿新 • • 發佈:2021-09-07
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方法出現問題"); } } }