Exceptionを無理矢理...
aws sdk for Javaには配置オブジェクトのexistsチェックapiが存在しない。仕方ないので、exceptionを無理矢理処理に埋め込みました。
public boolean existsFile(String bucketName, String key) {
/**
* ファイルの存在をチェックするapiがs3に存在しないので、やむなく例外処理を利用しています
* ファイルの数がすくなければ、bucket以下のファイルをlistで取得してから舐める方法もありかもしれません
*/
try {
s3.getObjectMetadata(bucketName, key);
return true;
} catch(AmazonServiceException e) {
if (e.getStatusCode() != 404) {
throw e;
}
return false;
}
}
参考