【问题标题】:How to upload multiple files at the same time using the dropbox java api如何使用 dropbox java api 同时上传多个文件
【发布时间】:2015-08-14 12:07:26
【问题描述】:

我想知道如何使用 java dropbox api 将多个文件上传到 Dropbox。我想知道这一点,因为目前,当我要上传文件夹时,我会递归浏览文件夹中的每个文件并逐个上传。但是,我觉得这太慢了。所以,我想我可以一次上传一个文件夹中的所有文件。但是,我该怎么做呢?我应该创建 n 个线程并且每个线程上传一个文件还是什么?

【问题讨论】:

  • @SubodhJoshi 我已经检查过了,没有发现一次上传多个文件。
  • Dropbox API 目前不提供通过一次 API 调用上传多个文件的方法,但我们正在将此作为一项功能请求进行跟踪。
  • 哦,好的。但是,使用多个线程会起作用吗?

标签: java multithreading dropbox dropbox-api


【解决方案1】:

是的,您可以使用多个线程调用 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");
    }
}

【讨论】:

  • 谢谢,这正是我所需要的!
猜你喜欢
  • 1970-01-01
  • 2022-01-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-13
  • 1970-01-01
相关资源
最近更新 更多