1

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

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

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

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

private InputStream data;
4

2 回答 2

1

总是关闭流

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

于 2013-08-06T15:59:17.537 回答
0

未公开、未使用的流 = 资源泄漏。仅此而已,所以是的,关闭您的流。

于 2013-08-06T15:58:42.193 回答