首页 > 解决方案 > 如果我关闭 Scanner,我是否必须关闭 FileInputStream

问题描述

我读过这个问题:我必须关闭 FileInputStream 吗?

如果我使用这样的扫描仪https://www.baeldung.com/java-scanner并关闭扫描仪会怎样?是否scanner.close()也关闭 FileInputStream?

标签: javajava-stream

解决方案


是的,它会的。考虑以下代码:

FileInputStream inputStream = new FileInputStream("file.txt");
Scanner scanner = new Scanner(inputStream);
scanner.close();
System.out.println(inputStream.read());

这会引发 ajava.io.IOException因为流已关闭。

编辑:或者,正如Slaw 所说,检查文档


推荐阅读