java - AWS S3 Java SDK - 下载文件帮助

标签 java amazon-s3 download amazon java-web-start

以下代码仅适用于从 S3 中的存储桶下载文本文件。这不适用于图像。有没有更简单的方法来使用 AWS 开发工具包管理下载/类型?文档中包含的示例并不明显。谢谢!

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();

最佳答案

尽管 Mauricio 的回答中编写的代码可以正常工作——他关于流的观点当然是正确的——但亚马逊提供了一种更快的方法来将文件保存在他们的 SDK 中。我不知道它是否在 2011 年不可用,但现在可用。

AmazonS3Client s3Client = new AmazonS3Client(myCredentials);

File localFile = new File("localFilename");

ObjectMetadata object = s3Client.getObject(new GetObjectRequest("bucket", "s3FileName"), localFile);

关于java - AWS S3 Java SDK - 下载文件帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6903255/

相关文章:

android - 如何使用新的 Dropbox API 下载文件?

ios - 如何创建图片下载进度 View by swift

java - mtime.sec 不存在

c# - 使用 Sagemaker 获取 Amazon.RegionEndpoint 的冲突错误

java - 您可以使用 JNI 在从 Java 调用的 C++ 函数中创建新的 JVM 吗?

python - 从 EC2 实例本地访问 Amazon S3 Bucket

javascript - 如何使用 Javascript 将文件上传到 Digital Ocean Spaces

c# - 修复youtube下载程序类

java - LibGdx 工具错误

java - Jersey Rest 服务接受 MediaType.APPLICATION_JSON 的 java.util.Map