2016-03-08 275 views
0

我已经使用Java SDK并尝试使用GetObjectRequest类下载文件夹,但可以下载包含其子文件夹和所有要下载的文件的文件夹?如何下载位于S3 Bucket上的整个文件夹?

+1

分享你的研究可以帮助每个人。告诉我们你试过的东西以及为什么 它不符合你的需求。这表明你已经花时间 试图帮助自己,它使我们避免重申明显的答案, ,最重要的是它可以帮助您获得更具体和相关的答案! 另请参阅[如何问](http://stackoverflow.com/questions/how-to-ask) – Raju

回答

0

你必须调用ListBucket API来获取文件的列表,然后逐个下载与GetObject的每一个

0

是,使用TransferManager.downloadFolder :)

2

您可以使用downloadDirectory方法从TransferManager类:

TransferManager transferManager = new TransferManager(new DefaultAWSCredentialsProviderChain()); 
File dir = new File("destDir"); 

MultipleFileDownload download = transferManager.downloadDirectory("myBucket", "myKey", dir); 
download.waitForCompletion(); 

因为它是写在documentation,此方法:

下载虚拟目录中的所有对象,该虚拟目录由指定给目标目录的keyPrefix指定。所有虚拟子目录都将递归下载。