在java中,如何将S3对象列表从一个文件夹移动/复制到另一个文件夹?

在java中,如何将S3对象列表从一个文件夹移动/复制到另一个文件夹?,java,amazon-web-services,amazon-s3,Java,Amazon Web Services,Amazon S3,我想将S3对象列表(给定文件夹中的所有S3对象)从一个文件夹复制/移动到同一个bucket中的另一个文件夹。我可以为on对象编写如下代码 public static S3Response copySingleFile(S3Request s3Request) { S3Validation.validateCopyMoveArgs(s3Request); CopyObjectRequest copyObjectRequest=new CopyObjectReques

我想将S3对象列表(给定文件夹中的所有S3对象)从一个文件夹复制/移动到同一个bucket中的另一个文件夹。我可以为on对象编写如下代码

public static S3Response copySingleFile(S3Request s3Request) {
        S3Validation.validateCopyMoveArgs(s3Request);
        CopyObjectRequest copyObjectRequest=new CopyObjectRequest(s3Request.getBucketName(), s3Request.getSourcekey(), s3Request.getBucketName(), s3Request.getDestKey());
        AWSClient.getS3Client().copyObject(copyObjectRequest);
        return response;
    }
我认为应该通过列出给定文件夹的对象并将列表复制到目标来完成。我希望逻辑是这样的,但我在编码部分遇到了麻烦

对AmazonS3的
copyObject()
API调用只允许复制一个对象。您将需要遍历对象列表并分别复制每个对象


您需要一个
listObjectsV2()
调用来获取现有对象的列表,然后为每个对象调用
copyObject()

测试时它做了什么?您得到了什么错误?此代码适用于单个对象。它很好用。我无法修改多个对象的代码。是否必须删除原始对象?请检查此处的答案: