1. 程式人生 > 其它 >多執行緒同步下在網路圖片檔案

多執行緒同步下在網路圖片檔案

此過程要匯入commons-io-2.6資料包用於接收圖片
package 執行緒;
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
import java.net.URL;
//練習Theard,實現多執行緒同步下載
public class TestThread2 implements Runnable{
private String url;//網路圖片地址
private String name;//儲存檔名

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

@Override
public void run() {
WebDownloader webdownloader=new WebDownloader();
webdownloader.downloader(url,name);
System.out.println("下載檔名;"+name);
}
//下載圖片執行緒的執行體
public static void main(String[] args) {
TestThread2 testThread1=new TestThread2("https://pic.cnblogs.com/avatar/2665954/20211202224408.png","1.jpg");
TestThread2 testThread2=new TestThread2("https://ucc.alicdn.com/pic/developer-ecology/95e2e220445d4496a7002804b858587e.png","2.jpg");
TestThread2 testThread3=new TestThread2("https://files.cnblogs.com/files/sheng-jie/MVP_Logo.bmp","3.jpg");
//使用Thread代理呼叫執行緒
new Thread(testThread1).start();
new Thread(testThread2).start();
new Thread(testThread3).start();
//誰先下載完成,就是先執行
}
}
//下載器
class WebDownloader{
//下載方法
public void downloader(String url,String name){
try {
                //將路徑轉換成圖片檔案
           FileUtils.copyURLToFile(new URL(url),new File (name));
} catch (IOException e) {
e.printStackTrace();
System.out.println("io異常,downloader方法出現問題");
}
}
}