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

多執行緒下載

多執行緒下載網站圖片,start啟動(多執行緒互動執行)

 1 package com.student_thread.demo;
 2 import org.apache.commons.io.FileUtils;
 3 import java.io.File;
 4 import java.io.IOException;
 5 import java.net.URL;
 6 /*
①寫上一個下載器,將下載器的jar包加入library
②將這個測試執行緒類繼承執行緒
③將構造器中的屬性複製到公共屬性中
④重寫run方法,run方法是執行緒的執行體
⑤執行順序就是主函式啟動,TestThread2中的url地址和照片名稱引數傳入構造器
⑥構造器得到引數賦值給公共屬性
⑦TestThread2例項化的物件用start啟動執行緒
⑧這個時候執行重寫的run()
⑨webDownloader.downloader(url,name);呼叫下載器且執行FileUtils.copyURLToFile(new URL(url),new File(name));函式
⑩最後輸出System.out.println("下載了檔案"+name);
   */
7 8 public class TestThread2 extends Thread { 9 String url; 10 String name; 11 public TestThread2(String url,String name){ 12 this.url=url; 13 this.name=name; 14 } 15 16 @Override 17 public void run() { 18 WebDownloader webDownloader=new WebDownloader(); 19 webDownloader.downloader(url,name);
20 System.out.println("下載了檔案"+name); 21 22 } 23 24 public static void main(String[] args) { 25 TestThread2 T1=new TestThread2("http://我的伺服器/img/img.png","img.png"); 26 TestThread2 T2=new TestThread2("http://我的伺服器/img/profile.jpg","profile.png"); 27 T1.start(); 28 T2.start();
29 } 30 } 31 //下載器 32 class WebDownloader{ 33 public void downloader(String url,String name){ 34 try { 35 FileUtils.copyURLToFile(new URL(url),new File(name)); 36 } catch (IOException e) { 37 e.printStackTrace(); 38 System.out.println("io異常,downloader出現問題"); 39 } 40 } 41 }