91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java多線程下載網圖的示例分析

發布時間:2021-03-29 10:46:28 來源:億速云 閱讀:169 作者:小新 欄目:開發技術

小編給大家分享一下Java多線程下載網圖的示例分析,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

此案例依賴——文件操作工具類(FileUtils)

使用 apache 的commons-io包下的FileUtilsimportorg.apache.commons.io.FileUtils;

下載commons-io包

點擊即可下載,然后導入IDEA的庫中或者項目中。

Java多線程下載網圖的示例分析

導包

Java多線程下載網圖的示例分析

首先創建一個下載器

步驟:

1.新建一個download類

2.在類中建立一個下載方法

下載方法需要接收2個變量,一個是url下載地址,一個是name文件名稱

3.在下載方法中調用文件操作工具類(FileUtils)

4.try/catch捕獲異常并提示異常

方法說明
copyURLToFile(URL source, File destination)將字節從URL復制source到文件中 destination。
//下載器
class download{
	//下載方法
 public void down(String url,String name){
  try {
   FileUtils.copyURLToFile(new URL(url),new File(name));
  } catch (IOException e) {
   e.printStackTrace();
   System.out.println("IO異常,download方法出現問題");
  }
 }
}

然后創建一個線程類

步驟:

1.創建線程類-多線程下載器,繼承Thread

2.定義2個私有變量(url下載地址,name文件名稱)

3.創建有參數構造器(用于初始化2個私有變量的值)

4.重寫Thread父類的run方法

run方法的方法體內寫入要執行的任務,我們的任務就是要下載網圖,因為要用到下載器里面的下載方法,所以直接實例化download類,然后調用download類中的down方法,由于down方法需要接受2個String類型的變量(url和name),直接將2個私有變量傳入進去,最后給個提示,打印出下載的文件名稱。

public class 多線程下載器 extends Thread{
  private String url;
  private String name;
  public 多線程下載器(String url, String name) {
    this.url = url;
    this.name = name;
  }

  @Override
  public void run() {
    download download = new download();
    download.down(url,name);
    System.out.println("下載了名為"+name);
  }
}

在main方法中創建線程并啟動

步驟:

1.創建一個main方法

2.創建3個線程

創建線程的時候要傳入參數,目的是調用有參構造器初始化私有變量

這里傳入3個圖片的地址以及文件的名稱

注意文件名稱,下載的文件類型要對應好相應的后綴名

多線程下載器 t1=new 多線程下載器("https://www.baidu.com/favicon.ico","百度.ico");
多線程下載器 t2=new 多線程下載器("https://www.apple.com/favicon.ico","蘋果.ico");
多線程下載器 t3=new 多線程下載器("https://www.jd.com/favicon.ico","京東.ico");

3.用start開啟3個線程

start方法會開啟新的線程,并且在新的線程中調用線程類中的run方法

public static void main(String[] args) {
    多線程下載器 t1=new 多線程下載器("https://www.baidu.com/favicon.ico","百度.ico");
    多線程下載器 t2=new 多線程下載器("https://www.apple.com/favicon.ico","蘋果.ico");
    多線程下載器 t3=new 多線程下載器("https://www.jd.com/favicon.ico","京東.ico");
    t1.start();
    t2.start();
    t3.start();
  }

全部代碼:

package 多線程;

import org.apache.commons.io.FileUtils;

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

public class 多線程下載器 extends Thread{
  private String url;
  private String name;
  public 多線程下載器(String url, String name) {
    this.url = url;
    this.name = name;
  }

  @Override
  public void run() {
    download download = new download();
    download.down(url,name);
    System.out.println("下載了名為"+name);
  }

  public static void main(String[] args) {
    多線程下載器 t1=new 多線程下載器("https://www.baidu.com/favicon.ico","百度.ico");
    多線程下載器 t2=new 多線程下載器("https://www.apple.com/favicon.ico","蘋果.ico");
    多線程下載器 t3=new 多線程下載器("https://www.jd.com/favicon.ico","京東.ico");
    t1.start();
    t2.start();
    t3.start();
  }
}
//下載器
class download{
  public void down(String url,String name){
    try {
      FileUtils.copyURLToFile(new URL(url),new File(name));
    } catch (IOException e) {
      e.printStackTrace();
      System.out.println("IO異常,download方法出現問題");
    }
  }
}

運行結果:

Java多線程下載網圖的示例分析

下載的文件默認位置在項目下如圖:

Java多線程下載網圖的示例分析

雙擊圖片文件可進行查看

Java多線程下載網圖的示例分析

看完了這篇文章,相信你對“Java多線程下載網圖的示例分析”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

随州市| 达州市| 方正县| 乌拉特后旗| 三河市| 德庆县| 花莲市| 本溪| 留坝县| 建宁县| 峡江县| 萨嘎县| 开远市| 南雄市| 蕲春县| 许昌县| 天津市| 罗山县| 壤塘县| 惠安县| 浦北县| 宽甸| 胶南市| 永平县| 吕梁市| 应城市| 仁寿县| 灵寿县| 达拉特旗| 新野县| 龙门县| 来宾市| 澄迈县| 长垣县| 文山县| 鄂伦春自治旗| 巴青县| 巫山县| 喀什市| 揭阳市| 邵武市|