AWS S3 Java SDK - 下载文件帮助 [英] AWS S3 Java SDK - Download file help
本文介绍了AWS S3 Java SDK - 下载文件帮助的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
以下代码仅适用于从 S3 中的存储桶下载文本文件.这不适用于图像.是否有更简单的方法来使用 AWS 开发工具包管理下载/类型?文档中包含的示例并不明显.谢谢!
The code below only works for downloading text files from a bucket in S3. This does not work for an image. Is there an easier way to manage downloads/types using the AWS SDK? The example included in the documentation does not make it apparent. Thanks!
AWSCredentials myCredentials = new BasicAWSCredentials(
String.valueOf(Constants.act), String.valueOf(Constants.sk));
AmazonS3Client s3Client = new AmazonS3Client(myCredentials);
S3Object object = s3Client.getObject(new GetObjectRequest("bucket", "file"));
BufferedReader reader = new BufferedReader(new InputStreamReader(
object.getObjectContent()));
File file = new File("localFilename");
Writer writer = new OutputStreamWriter(new FileOutputStream(file));
while (true) {
String line = reader.readLine();
if (line == null)
break;
writer.write(line + "\n");
}
writer.close();
推荐答案
你应该使用 InputStream
和 Reader
和 Writer
类代替 Reader
和 Writer
类OutputStream
类:
Instead of Reader
and Writer
classes you should be using InputStream
and OutputStream
classes:
InputStream reader = new BufferedInputStream(
object.getObjectContent());
File file = new File("localFilename");
OutputStream writer = new BufferedOutputStream(new FileOutputStream(file));
int read = -1;
while ( ( read = reader.read() ) != -1 ) {
writer.write(read);
}
writer.flush();
writer.close();
reader.close();
这篇关于AWS S3 Java SDK - 下载文件帮助的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文