【问题标题】:Need to close InputStream after putObject() for Amazon Java SDK?需要在 Amazon Java SDK 的 putObject() 之后关闭 InputStream?
【发布时间】:2018-05-03 04:41:10
【问题描述】:

是否需要关闭Amazon Java SDK for S3的putObject方法传入的InputStream?

他们的example 仅显示与 File 的用法,但不显示与 InputStream 的用法。 Javadoc 也没有指明是否需要。

【问题讨论】:

  • 你测试了吗?
  • 由于Closeable.close() 的合同是幂等的,我会说,如果有疑问,请谨慎行事。通过finally 关闭它,您可以处理快乐路径和putObject 抛出AmazonServiceException 的情况。

标签: java amazon-web-services amazon-s3


【解决方案1】:

在 S3 客户端的情况下,提供的 InputStream 不会被调用关闭。

相关代码为S3DataSource.Utils.cleanupDataSource(),在finally 块中调用PutObject 和类似调用。

这是一个通用的 Java 约定,但由于没有记录,因此不能保证它会保持这种方式。也许是文件反馈?

【讨论】:

    猜你喜欢
    • 2012-03-21
    • 1970-01-01
    • 2012-03-30
    • 2021-02-10
    • 2012-08-22
    • 2012-03-04
    • 2011-08-12
    • 2018-11-13
    • 1970-01-01
    相关资源
    最近更新 更多