我在s3 bucket
中有。bz文件内容。
使用S3Object,我可以读取文件:
S3Object object = s3.getObject(bucket, path);
S3ObjectInputStream inputStream = object.getObjectContent();
现在我要解压缩这个内容。
尝试,使用下面的代码转换,但它仍然给我机器可读的文本,而不是英文文本。
String text = new BufferedReader(
new InputStreamReader(inputStream, StandardCharsets.UTF_8))
.lines()
.collect(Collectors.joining("n"));
如何在这里得到未压缩的文本。
您可以使用库。
例如Apache Commons Compress.
S3Object object = s3.getObject(bucket, path);
S3ObjectInputStream inputStream = object.getObjectContent();
BZip2CompressorInputStream bzInputStream = new BZip2CompressorInputStream(inputStream);
// Then just write to a string.
// This is Java 9+.
String plaintext = new String(bzInputStream.readAllBytes(), StandardCharsets.UTF_8);