当我尝试使用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();
我在代码中缺少任何内容吗,还是必须添加任何权限? 任何建议都会很有帮助。
答案 0 :(得分:0)
解决了。 Transfer Manager首先下载文件夹结构,然后下载其中的所有文件。
因此解决方案是: 使MultipleFile下载xfer到“ waitForCompletion”。
添加一行 xfer.waitForCompletion()解决了该问题。