Java 输入流/读卡器是否总是要关闭?

Java 输入流/读卡器是否总是要关闭?,java,io,stream,sax,Java,Io,Stream,Sax,当我们将InputStream或Reader传递给InputSource谁/何时关闭流/读取器时? 在本例中,流/读卡器未关闭。 为什么?我不应该关闭这些流吗?在使用完资源(如果您创建了资源)后关闭资源是一种很好的做法。我要说的是,SAXS项目的示例代码是草率的 至于“谁”——一个重量级资源,通常应该在创建它(并因此拥有它)的范围内关闭/释放,以避免所有权混淆。但是流/读取器由sax库和应用程序代码共享,对吗?所以想法是当sax使用完它时关闭它?不,当您调用createXMLReader()时读

当我们将
InputStream
Reader
传递给
InputSource
谁/何时关闭流/读取器时?
在本例中,流/读卡器未关闭。

为什么?我不应该关闭这些流吗?

在使用完资源(如果您创建了资源)后关闭资源是一种很好的做法。我要说的是,SAXS项目的示例代码是草率的


至于“谁”——一个重量级资源,通常应该在创建它(并因此拥有它)的范围内关闭/释放,以避免所有权混淆。

但是流/读取器由sax库和应用程序代码共享,对吗?所以想法是当sax使用完它时关闭它?不,当您调用createXMLReader()时读者的控制权交给你了。API文档没有明确说明,但这就是我将如何解释它,因为它的名称是“create…”。我会给它一段时间,如果没有不同的答案出现,我会接受它+1.我暂时还没有收到你的信