Warm tip: This article is reproduced from serverfault.com, please click

java-为什么不建议弃用IOUtils.close?

(java - Why is IOUtils.closeQuietly deprecated?)

发布于 2020-04-22 18:42:29

IOUtils.closeQuietly似乎不推荐使用TryWithResources,但是当需要在异步事件侦听器中关闭资源时,如何为我提供帮助,当我使用AmazonS3和TransferManager上传文件时,请点击此按钮吗?

final String key = rs.getString("id");
final InputStream data = rs.getBinaryStream("data");
final long length = rs.getLong("length");
ObjectMetadata objectMetadata = new ObjectMetadata();
objectMetadata.setContentLength(length);

Upload upload = transferManager.upload(s3bucketName, key, data, objectMetadata);
upload.addProgressListener((com.amazonaws.event.ProgressListener) p -> {
    switch (p.getEventType()) {
    case TRANSFER_COMPLETED_EVENT:
    case TRANSFER_FAILED_EVENT:
    case TRANSFER_CANCELED_EVENT:
        IOUtils.closeQuietly(data);
    default:
        break;
    }
});
Questioner
wutzebaer
Viewed
0
Jamie Bisotti 2020-12-03 04:22:49

这是不推荐使用Jira问题根据2020年10月的最后几条评论,它似乎已被弃用。