moh*_*yas 2 java csv amazon-s3 amazon-web-services
我有一个要求,我必须.csv从 S3 存储桶中读取文件。我通过
S3Object s3Obj = amazonS3Client.getObject(bucketname, fileName);
BufferedReader reader = new BufferedReader(new InputStreamReader(s3Obj.getObjectContent()));
Run Code Online (Sandbox Code Playgroud)
现在,同一.csv文件以存档(压缩)形式出现在 AWS S3 存储桶中。我需要阅读这个.csv在服务器端文件而不进行解压缩操作。
AWS 中是否有任何文档或 API 可以.csv直接读取文件而无需解压缩?
您可以通过以下步骤直接从 Amazon S3 读取压缩的 CSV 文件:
例子:
AmazonS3 s3Client = AmazonS3ClientBuilder.defaultClient();
S3Object object = s3Client.getObject("mybucket","myfile.csv.zip");
ZipInputStream in = new ZipInputStream(object.getObjectContent());
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
Run Code Online (Sandbox Code Playgroud)
由于 zip 文件中可以包含许多文件,因此您需要将 ZipInputStream 定位在每个 ZipEntry 的开头以单独读取每个包含的文件。(即使您的 zip 文件中只包含一个文件,您也需要这样做一次以将 ZipInputStream 放在单独的 ZipEntry 的开头。)
String line;
while (in.getNextEntry() != null) { // loop through each file within the zip
while ((line = reader.readLine()) != null) { // loop through each line
System.out.println(line);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6630 次 |
| 最近记录: |