Мы используем класс Java для загрузки файла из корзины AWS s3 со следующим кодом
inputStream = AWSFileUtil.getInputStream(
AWSConnectionUtil.getS3Object(null),
"cdn.generalsentiment.com", filePath);
AWSFileUtil - это класс, который проверяет учетные данные и получает входной поток из S3bucket с помощью метода getInputStream.filePath - это файл внутри корзины 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;
}