2015年8月4日 星期二

Java上課練習:多執行緒_下載檔案

下載檔案使用多執行緒


import java.io.*;
import java.net.URL;
import java.nio.file.*;

//建立執行緒
class 小弟 extends Thread {

    private String id; //下載檔案的id
    private String saveFileName;//下載後儲存檔案的名稱

    public 小弟(String id, String saveFileName) {
        this.id = id;
        this.saveFileName = saveFileName;
    }

    @Override
    public void run() {
        copyFileFromGoogleDrive();
    }

    public void copyFileFromGoogleDrive() {
        try {
            System.out.println("下載檔案..." + id);
            URL url = new URL("https://drive.google.com/uc?id=" + id);
            InputStream is = url.openStream();
            Path savePath = Paths.get(saveFileName);//存檔路徑
            Files.copy(is, savePath, StandardCopyOption.REPLACE_EXISTING);//檔案存在就覆蓋
            System.out.println("存檔成功" + saveFileName);
        } catch (IOException e) {
            System.out.println(e);
        }
    }
}

public class 多執行緒下載檔案Test {

    public static void main(String[] args) {

        小弟 a = new 小弟("0BwIdzAjvQ8FwYVMxQUhXQUV2b0k", "C:/Users/Administrator/Desktop/MyJava/android-0.png");
        小弟 b = new 小弟("0BwIdzAjvQ8FwX1FzZDI4UHUwUXM", "C:/Users/Administrator/Desktop/MyJava/android-1.png");
        小弟 c = new 小弟("0BwIdzAjvQ8FwN2kzVklxTmF3QmM", "C:/Users/Administrator/Desktop/MyJava/asciiart.txt");
        a.start();
        b.start();
        c.start();
    }
}
執行結果


沒有留言:

張貼留言