我使用Jackrabbit(内容存储库)并在那里存储文件。我得到一个像这样的流引用:
final InputStream ds = dataProperty.getBinary().getStream();
然后我创建了特定于域的对象,我在其中设置了ds
流,以便每个对象都有一个引用。现在,当我使用它时,我应该关闭它吗?为什么/为什么不呢?如果我这样做会发生什么?
我知道不关闭你没有创建的流的规则,但在这种情况下我不知道。 我有一个这样的字段,我在我的存储库中对象的回溯期间设置(不是Jackrabbit,而是DDD原则中的存储库)。
private InputStream data;
答案 0 :(得分:1)
Streams表示必须通过调用close方法显式清理的资源。
答案 1 :(得分:0)
未开发的,未使用的流=资源泄漏。没有更多,所以是的,关闭你的溪流。