【发布时间】:2017-06-03 00:13:41
【问题描述】:
我正在尝试获取存储桶中的所有文件路径。使用 listobjects 函数我可以实现它。但存在文件路径问题。
考虑一下这是文件夹结构
SampleBucket --> A(根文件夹)--> B(子文件夹)--> c(B内的子文件夹)
我需要的是
http://SampleBucket.s3.amazonaws.com/A/
http://SampleBucket.s3.amazonaws.com/A/B/
http://SampleBucket.s3.amazonaws.com/A/B/C
我得到的是
http://SampleBucket.s3.amazonaws.com/A/
http://SampleBucket.s3.amazonaws.com/A/B/C
这发生在我创建“A”文件夹并将粘贴的“B”文件夹从本地驱动器复制到云莓果时
这是我获取存储桶中所有文件夹和文件的代码..
public List<S3ObjectSummary> getObjectslistFromFolder(String bucketName, String folderKey) {
AWSCredentials awsCreds = new BasicAWSCredentials(accessKey, secretKey);
AmazonS3 s3client = new AmazonS3Client(awsCreds);
ObjectListing current = s3client.listObjects(bucketName,folderKey);
List<S3ObjectSummary> keyList = current.getObjectSummaries();
current = s3client.listNextBatchOfObjects(current);
while (current.isTruncated()){
keyList.addAll(current.getObjectSummaries());
current = s3client.listNextBatchOfObjects(current);
}
keyList.addAll(current.getObjectSummaries());
return keyList;
}
【问题讨论】:
标签: java amazon-web-services amazon-s3