java - 如何使用 dropbox java api 同时上传多个文件

标签 java multithreading dropbox dropbox-api

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

最佳答案

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

关于java - 如何使用 dropbox java api 同时上传多个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32009719/

相关文章:

java - 将消息对象从 JavaMail 保存到文件系统

java - 线程池不调整大小

Python - 如何将线程变成线程安全

ios - 我应该加密我的 Dropbox 应用 key / secret 吗?

java - 使用 DownloadManager 类从 WebView 下载文件

java - 比较对象不起作用

java - 重置运行时权限

java - 仅在特定线程中在断点处停止

ios - iPhone/iPad 版本的 Dropbox 如何显示 Microsoft Word 文档?

linux - node.js 可以在 ubuntu 上运行的最低特权用户是什么?