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(); } }
2015年8月4日 星期二
Java上課練習:多執行緒_下載檔案
下載檔案使用多執行緒
執行結果
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言