java读取tar.gz内容,java - 从Amazon S3部分读取tar.gz文件 - SO中文参考 - www.soinside.com...

本文介绍了如何使用AWS Java SDK从Amazon S3中部分读取大型tar.gz文件,只提取所需的特定文件。通过创建S3ObjectInputStream和TarArchiveInputStream来实现这一目标,并展示了一个示例代码片段,该片段读取名为'1/foo.bar'的文件。在处理过程中遇到了一个警告,提示未读取所有S3ObjectInputStream的字节,询问是否需要额外的处理步骤,如排出流,以及忽略警告可能带来的影响。
摘要由CSDN通过智能技术生成

我正在尝试从Amazon S3中提取特定文件,而不必读取所有字节,因为存档可能很大,我只需要2或3个文件。

我正在使用AWS Java SDK。这是代码(跳过异常处理):

AWSCredentials credentials = new BasicAWSCredentials("accessKey", "secretKey");

AWSCredentialsProvider credentialsProvider = new AWSStaticCredentialsProvider(credentials);

AmazonS3 s3Client = AmazonS3ClientBuilder.standard().withRegion(Regions.US_EAST_1).withCredentials(credentialsProvider).build();

S3Object object = s3Client.getObject("bucketname", "file.tar.gz");

S3ObjectInputStream objectContent = object.getObjectContent();

TarArchiveInputStream tarInputStream = new TarArchiveInputStream(new GZIPInputStream(objectContent));

TarArchiveEntry currentEntry;

while((currentEntry = tarInputStream.getNextTarEntry()) != null) {

if(currentEntry.getName().equals("1/foo.bar") &

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值