2016-05-14 160 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