java – AWS S3 – 列出没有前缀的文件夹中的所有对象

前端之家收集整理的这篇文章主要介绍了java – AWS S3 – 列出没有前缀的文件夹中的所有对象前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在检索AWS S3中文件夹内的所有对象(文件名)时遇到问题.这是我的代码
ListObjectsRequest listObjectsRequest = new ListObjectsRequest()
            .withBucketName(bucket)
            .withPrefix(folderName + "/")
            .withMarker(folderName + "/")

    ObjectListing objectListing = amazonWebService.s3.listObjects(listObjectsRequest)

    for (S3ObjectSummary summary : objectListing.getObjectSummaries()) {
        print summary.getKey()
    }

它返回正确的对象,但在其中带有前缀,例如foldename /文件

我知道我可以使用java或substring来排除前缀,但我只想知道AWS SDK中是否有方法.

解决方法

那没有. Linked是所有可用方法的列表.这背后的原因是S3设计. S3没有“子文件夹”.相反,它只是一个文件列表,其中文件名是“前缀”加上您想要的文件名. GUI显示与存储在“文件夹”中的窗口类似的数据,但S3中没有文件夹逻辑.

http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/s3/model/S3ObjectSummary.html

最好的办法是用“/”拆分并取出数组中的最后一个对象.

原文链接:https://www.f2er.com/java/124258.html

猜你在找的Java相关文章