2015-08-14 45 views
2

我想知道如何使用java dropbox api將多個文件上傳到Dropbox。我想知道這一點,當我想上傳一個文件夾時,我遞歸瀏覽文件夾中的每個文件並逐一上傳它們。但是,我覺得這太慢了。所以,我認爲我可以一次性上傳文件夾中的所有文件。但是,我將如何做到這一點?我應該創建n個線程,每個線程上傳單個文件還是什麼?如何使用dropbox java api同時上傳多個文件

+0

請看看http://javapapers.com/java/dropbox-java-api-tutorial/ –

+0

@SubodhJoshi我已經檢查了,沒有發現任何關於同時上傳多個文件。 – Paul

+0

Dropbox API目前不提供使用一個API調用上傳多個文件的方式,但我們將其作爲功能請求進行跟蹤。 – Greg

回答

4

是的,您可以使用多個線程調用API並上傳文件。您可以使用相同的Thread Pools。您需要確定創建不影響性能的線程數的要點。

下面的代碼可以讓你在5個獨立的線程中上傳10個文件(在fileLocations數組中提供)。

public class UploadThread implements Runnable { 

    private String fileLocation; 

    public UploadThread(String s){ 
     this.fileLocation=s; 
    } 

    @Override 
    public void run() { 
     //your api call to upload file using fileLocation 
    } 

    @Override 
    public String toString(){ 
     return this.command; 
    } 
} 

public class UploadExecutor{ 

    public static void main(String[] args) { 

     ExecutorService executor = Executors.newFixedThreadPool(5); 

     String[] fileLocations = new String[10]; 

     for (int i = 0; i < 10; i++) { 

      Runnable worker = new UploadThread(fileLocations[i]); 

      executor.execute(worker); 
     } 
     executor.shutdown(); 

     while (!executor.isTerminated()) { } 

     System.out.println("Finished uploading"); 
    } 
} 
+0

謝謝,這正是我需要的! – Paul