我是否需要在Java中关闭InputStream?

use*_*818 42 java inputstream

我的代码是:

InputStream confFile=classLoader.getResourceAsStream("myconffile.properties");
Run Code Online (Sandbox Code Playgroud)

在文档中:

InputStream的close方法什么都不做.

这是否意味着我不需要关闭InputStream?

Bor*_*jev 29

您确实需要关闭输入Stream,因为您提到的方法返回的流实际上是FileInputStream或其他一些InputStream包含文件句柄的子类.如果您不关闭此流,则会导致资源泄漏.


Mic*_*rdt 21

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