Java 从AMAZON S3中删除今天之前创建的所有文件

Java 从AMAZON S3中删除今天之前创建的所有文件,java,amazon-s3,Java,Amazon S3,我知道下面提供的代码用于从AmazonS3存储桶中删除文件,但我的要求是从存储桶中删除今天之前创建的所有文件。这意味着,我想将今天的日期bucketName作为输入参数传递给函数,该函数应该从该bucket中删除在今天日期之前创建的所有文件。我如何实现这一点 String Bucket_Name = "my_bucket"; String key = "Path/to/my/folder"; ObjectListing objects = s3Client.listObjects(BUCK

我知道下面提供的代码用于从AmazonS3存储桶中删除文件,但我的要求是从存储桶中删除今天之前创建的所有文件。这意味着,我想将今天的日期bucketName作为输入参数传递给函数,该函数应该从该bucket中删除在今天日期之前创建的所有文件。我如何实现这一点

String Bucket_Name = "my_bucket";
String key = "Path/to/my/folder";   
ObjectListing objects = s3Client.listObjects(BUCKET_NAME, key);
    for (S3ObjectSummary objectSummary : objects.getObjectSummaries()) 
        {
        s3Client.deleteObject(BUCKET_NAME, objectSummary.getKey());
        }

您可以将日期与上次修改对象的时间进行比较,这是您可以从中获得的有关日期的唯一信息

它作为对象元数据的一部分存储,如前所述


根据您真正想要完成的任务,S3可以为您完成这项任务。这可能并不总是返回整个对象列表。您可能需要使用ObjectListing.isTruncated()方法来查看返回的列表是否完整,或者是否需要额外的listObjects调用来获得更多结果。参考:
String Bucket_Name = "my_bucket";
String key = "Path/to/my/folder";
Date today = Calendar.getInstance().getTime();  
ObjectListing objects = s3Client.listObjects(BUCKET_NAME, key);
for (S3ObjectSummary objectSummary : objects.getObjectSummaries()) 
{
    if(objectSummary.getLastModified().before(today))
       s3Client.deleteObject(BUCKET_NAME, objectSummary.getKey());
}