2016-05-14 147 views
0

我的s3存儲桶中有兩個文件夾。 如何僅從bucket_one下載所有文件。S3從特定文件夾下載

這是我用來從桶下載的代碼。 現在我想從該存儲桶中的文件夾下載。

GetObjectRequest request = new GetObjectRequest(BucketName(),KeyName()); 
     S3Object object = s3Client.getObject(request); 
     S3ObjectInputStream objectContent = object.getObjectContent(); 
     IOUtils.copy(objectContent, new FileOutputStream(System.getProperty("user.home")+"//downloads//"+KeyName())); 

感謝

回答

3

就表明有問題的文件夾的完整路徑

更改BucketName()方法是這樣的folderName()這將是bucketName() + "/" + <yourfolder> + "/"

的「/」是很重要的否則S3會搜索您的存儲桶根文件夾中的文件

您可以使用相同的去更深的文件夾結構:bucketName() + "/" + <folder1> + "/" + <folder2> + "/"

0

由弗雷德裏克·亨利提供的上述答案是正確的,但你不應該包括/如果yourFolder是最後一個文件夾.IE,如果目錄是<yourBucket>/<lvlOne>/<lvlTwo>/,然後在文件夾lvlTwo結束,你不應該包括\

可以list特定文件夾的桶中的所有文件,並下載他們的個人或你可能需要在戰利品MultipleFileDownload interfaceTransferManager