我的s3存储桶中有两个文件夹。 如何仅从bucket_one下载所有文件。
这是我用来从存储桶下载的代码。 现在我想从该存储桶中的文件夹下载。
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()));
由于
答案 0 :(得分:3)
只需指出相关文件夹的完整路径
即可将您的BucketName()
方法更改为folderName()
bucketName() + "/" + <yourfolder> + "/"
“/”最后很重要,否则S3会在你的存储桶根文件夹中搜索一个文件
您可以使用相同的内容深入了解文件夹结构:bucketName() + "/" + <folder1> + "/" + <folder2> + "/"
答案 1 :(得分:0)
Frederic Henri提供的上述答案是正确的,但如果/
是最后一个文件夹.ie,如果目录是yourFolder
,则不应包括<yourBucket>/<lvlOne>/<lvlTwo>/
,然后在文件夹的末尾lvlTwo
,您不应包含\
您可以list特定文件夹存储桶中的所有文件并单独下载,或者您可以在MultipleFileDownload interface处获取战利品 在TransferManager类
中