当我关闭缓冲输入流时,基础输入流是否也已关闭?
2022-09-02 05:38:23
InputStream in = SomeClass.getInputStream(...);
BufferedInputStream bis = new BufferedInputStream(in);
try {
// read data from bis
} finally {
bis.close();
in.close();
}
的 javadoc 没有提到底层流是否已关闭:BufferedInputStream.close()
关闭此输入流并释放与该流关联的任何系统资源。一旦流被关闭,进一步的 read()、available()、reset() 或 skip() 调用将引发 IOException。关闭以前关闭的流不起作用。
显式调用是必需的,还是应该通过调用 来关闭?in.close()
bis.close()