我的代码是:我是否需要关闭Java中的InputStream?
InputStream confFile=classLoader.getResourceAsStream("myconffile.properties");
在文档:
InputStream的close方法不做任何事。
这是否意味着我不需要关闭InputStream?
我的代码是:我是否需要关闭Java中的InputStream?
InputStream confFile=classLoader.getResourceAsStream("myconffile.properties");
在文档:
InputStream的close方法不做任何事。
这是否意味着我不需要关闭InputStream?
您确实需要关闭输入流,因为您提到的方法返回的流实际上是FileInputStream或其他持有文件句柄的InputStream
的子类。如果你不关闭这个流,你有资源泄漏。
不,这并不意味着 - 因为InputStream
是一个抽象类,并getResourceAsStream()
返回一个具体子类,其close()
方法做一些事情 - 最重要的自由的文件句柄。
我不认为它会在大多数情况下FileInputStream。 – 2012-03-03 16:53:24
我应该调查一下,遗憾的是我目前没有任何java实例。不过,我同意你的看法,它拥有一个文件句柄。 – 2012-03-03 17:00:11
finalize()方法不会为您关闭资源流吗? – 2012-03-03 17:07:11