使用 Java 进行 AWS S3 文件搜索
我们正在使用 Java 类通过以下代码从 AWS s3 存储桶中下载文件
inputStream = AWSFileUtil.getInputStream(
AWSConnectionUtil.getS3Object(null),
"cdn.generalsentiment.com", filePath);
AWSFileUtil 是一个类,它检查凭证并使用 getInputStream 方法从 S3bucket 获取输入流。文件路径是存储桶 cdn.generalsentiment.com 文件。
我们想要编写一个方法,该方法可以仅检查 AWS S3 存储桶中是否存在特定文件,并返回布尔值或其他值。
请建议我解决这个问题。
public static boolean isValidFile(AmazonS3 s3,
String bucketName,
String path) throws AmazonClientException {
try {
ObjectMetadata objectMetadata =
s3.getObjectMetadata("cdn.generalsentiment.com", path);
} catch (NotFoundException nfe) {
nfe.printStackTrace();
}
return true;
}
如果文件存在,它返回true,否则它会抛出NotFoundException,我想捕获并返回“isValidFile”方法结果为false。伙计们,方法主体或返回类型的任何其他替代方案都将很棒。
更新的那个
public static boolean doesFileExist(AmazonS3 s3,
String bucketName,
String path) throws AmazonClientException,
AmazonServiceException {
boolean isValidFile = true;
try {
ObjectMetadata objectMetadata =
s3.getObjectMetadata("cdn.generalsentiment.com", path);
} catch (NotFoundException nfe) {
isValidFile = false;
}
catch (Exception exception) {
exception.printStackTrace();
isValidFile = false;
}
return isValidFile;
}