2012-03-03 36 views

回答

25

您确实需要关闭输入流,因为您提到的方法返回的流实际上是FileInputStream或其他持有文件句柄的InputStream的子类。如果你不关闭这个流,你有资源泄漏。

+1

我不认为它会在大多数情况下FileInputStream。 – 2012-03-03 16:53:24

+0

我应该调查一下,遗憾的是我目前没有任何java实例。不过,我同意你的看法,它拥有一个文件句柄。 – 2012-03-03 17:00:11

+0

finalize()方法不会为您关闭资源流吗? – 2012-03-03 17:07:11

19

不,这并不意味着 - 因为InputStream是一个抽象类,并getResourceAsStream()返回一个具体子类,其close()方法做一些事情 - 最重要的自由的文件句柄。