【发布时间】:2018-01-19 07:41:40
【问题描述】:
这是我收到的警告:
S3AbortableInputStream:并非所有字节都从 S3ObjectInputStream 中读取,因此中止 HTTP 连接。这可能是一个错误,并可能导致次优行为。通过远程 GET 仅请求您需要的字节,或在使用后耗尽输入流。
我尝试对资源使用 try 但 S3ObjectInputStream 似乎没有通过此方法关闭。
try (S3Object s3object = s3Client.getObject(new GetObjectRequest(bucket, key));
S3ObjectInputStream s3ObjectInputStream = s3object.getObjectContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(s3ObjectInputStream, StandardCharsets.UTF_8));
){
//some code here blah blah blah
}
我也尝试了下面的代码并明确关闭,但这也不起作用:
S3Object s3object = s3Client.getObject(new GetObjectRequest(bucket, key));
S3ObjectInputStream s3ObjectInputStream = s3object.getObjectContent();
try (BufferedReader reader = new BufferedReader(new InputStreamReader(s3ObjectInputStream, StandardCharsets.UTF_8));
){
//some code here blah blah
s3ObjectInputStream.close();
s3object.close();
}
任何帮助将不胜感激。
PS:我只从 S3 读取文件的两行,文件有更多数据。
【问题讨论】:
标签: amazon-s3 aws-sdk aws-java-sdk