Tag: 缓冲区输入

为什么关闭()输入流是好的?

我有Java编程语言的丰富经验。 但是我一直想到的一件事是为什么有必要close() java.io.InputStream或它的子类? 现在使用java.io.OutputStream ,比如FileOutputStream ,在写入文件之后,如果我们不close()输出流,我们打算在文件中写入的数据仍保留在缓冲区中并且不写入文件。 因此有必要close()一个OutputStream 。 但是在没有关闭 InputStream之后我从未有过任何痛苦的经历。 但是,互联网和书籍上的所有文章仍然表示关闭任何Stream总是好的,可能是InputStream或OutputStream 。 所以我的问题是为什么有必要close()一个InputStream ? 人们说你可能面临内存泄漏,你不要close()它。 那是什么样的内存泄漏呢?