因此,我在 Java 中使用 AWS 开发工具包,并创建了一个类来下载 S3 服务器中的存储桶/对象。
我现在需要创建通配符或模式之类的东西来附加一个名为(“报告”)的字符串。我想出的唯一方法是创建一个模式匹配器变量,如下所示:
Pattern p = Pattern.compile("[a-zA-Z][0-9]");
Matcher m = p.matcher(prePattern);
ObjectListing s3ObjectList = s3client.listObjects(new ListObjectsRequest()
.withBucketName(bucketName)
.withPrefix(m + "reports"));+
谁能告诉我我正在尝试做的事情是否有更好的解决方案,或者我是否做得正确?
谢谢!
新代码:
String bucketName = "blabla";
String prePattern = "^[a-z0-9_-]{1,30}$";
String prefixPat = " -- Insert Pattern Here -- ";
ArrayList<String> objPrefix = new ArrayList();
Pattern p = Pattern.compile(prePattern);
Matcher m = p.matcher(prefixPat);
for(int i=0; i<= objPrefix.size(); i++)
{
objPrefix.add(m + "reports");
ObjectListing s3ObjectList = s3client.listObjects(new ListObjectsRequest()
.withBucketName(bucketName)
.withPrefix(objPrefix.get(i)));
}
大家想好了吗?真的很感激。谢谢!