我在 try/catch block 中有以下代码
InputStream inputstream = conn.getInputStream();
InputStreamReader inputstreamreader = new InputStreamReader(inputstream);
BufferedReader bufferedreader = new BufferedReader(inputstreamreader);
我的问题是,当我必须在 finally block 中关闭这些流时,我是必须关闭所有 3 个流还是只关闭 befferedreader 会关闭所有其他流?
最佳答案
按照惯例,包装流(包装现有流)在关闭底层流时会关闭它们,因此在您的示例中只需要关闭 bufferedreader
即可。此外,关闭一个已经关闭的流通常是无害的,因此关闭所有 3 个流也不会受到伤害。
关于java - 在 Java 中关闭输入流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11263926/