前回、アップロードしてみたので、今回はダウンロードしてみましょう。
AmazonS3のインスタンスを取得するまでは同じ流れになっています。
ダウンロードでは、getObject()で得られたS3Objectから、getObjectContent()にてInputStreamを取得します。
後は、このInputStreamを読み込んでしまえば良いわけですね。
簡単ですね。
public class A3Service { // getter setter略 private String accessKey; private String secretKey; private String bucketName; public byte[] download(String fileName) { InputStream is = null; ByteArrayOutputStream os = null; try { AWSCredentials credentials = new BasicAWSCredentials(accessKey, secretKey); AmazonS3 s3 = new AmazonS3Client(credentials); S3Object object = s3.getObject(bucketName, fileName); is = object.getObjectContent(); os = new ByteArrayOutputStream(); byte[] buffer = new byte[1024]; while (true) { int len = is.read(buffer); if (len < 0) { break; } os.write(buffer, 0, len); } return os.toByteArray(); } catch (IOException e) { throw new RuntimeException(e); } finally { IOUtil.closeQuietly(is); IOUtil.closeQuietly(os); } } }
Amazon Web Services クラウドデザインパターン 設計ガイド
- 作者: 玉川憲,片山暁雄,鈴木宏康
- 出版社/メーカー: 日経BP社
- 発売日: 2012/08/02
- メディア: 単行本
- 購入: 15人 クリック: 188回
- この商品を含むブログ (23件) を見る