如果通过调用外部API获取它,我应该关闭流吗?

时间:2013-08-06 15:56:48

标签: java java-ee

我使用Jackrabbit(内容存储库)并在那里存储文件。我得到一个像这样的流引用:

final InputStream ds = dataProperty.getBinary().getStream();

然后我创建了特定于域的对象,我在其中设置了ds流,以便每个对象都有一个引用。现在,当我使用它时,我应该关闭它吗?为什么/为什么不呢?如果我这样做会发生什么?

我知道不关闭你没有创建的流的规则,但在这种情况下我不知道。 我有一个这样的字段,我在我的存储库中对象的回溯期间设置(不是Jackrabbit,而是DDD原则中的存储库)。

private InputStream data;

2 个答案:

答案 0 :(得分:1)

Always close streams

  

Streams表示必须通过调用close方法显式清理的资源。

答案 1 :(得分:0)

未开发的,未使用的流=资源泄漏。没有更多,所以是的,关闭你的溪流。