1

当我尝试使用 KeyPrefix 从 S3 下载特定文件夹的所有文件时,它只下载目录结构而不是其中的文件。

下面是代码 TransferManager xfer_mgr = TransferManagerBuilder.standard().build();

    File a = new File("./");
    try {
        GetObjectRequest gor = new GetObjectRequest(bucketName, "folder3");
        MultipleFileDownload xfer = xfer_mgr.downloadDirectory(
                bucketName, null, a);

    } catch (AmazonServiceException e) {
        System.err.println(e.getErrorMessage());
        System.exit(1);
    }
    System.out.println("done...............");

    xfer_mgr.shutdownNow();

我是否遗漏了代码中的任何内容,或者必须添加任何权限?任何建议都会非常有帮助。

4

1 回答 1

3

解决了。传输管理器首先下载文件夹结构,然后下载里面的所有文件。

所以解决方案是:使 MultipleFileDownload xfer 到 'waitForCompletion'。

添加一行 xfer.waitForCompletion()解决了这个问题。

于 2019-01-27T07:26:23.783 回答