java - 我是否需要同时关闭() FileReader 和 BufferedReader?

标签 java io bufferedreader filereader

我正在使用包裹在 FileReader 周围的 BufferedReader 读取本地文件:

BufferedReader reader = new BufferedReader(new FileReader(fileName));
// read the file
// (error handling snipped)
reader.close();

我是否也需要 close() FileReader,或者包装器会处理它吗? 我见过人们做这样的事情的代码:

FileReader fReader = new FileReader(fileName);
BufferedReader bReader = new BufferedReader(fReader);
// read the file
// (error handling snipped)
bReader.close();
fReader.close();

这个方法是从一个 servlet 调用的,我想确保没有打开任何句柄。

最佳答案

没有。

BufferedReader.close()

根据 BufferedReader 的 javadoc 关闭流InputStreamReader

还有

FileReader.close()

会。

关于java - 我是否需要同时关闭() FileReader 和 BufferedReader?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1388602/

相关文章:

java - 如何将 XPath 计算范围缩小到单个节点而不是 Java 中的整个文档?

java - 如何将文本仅加密为纯文本字符串

java - 如何在 Java 中将 InputStream 读取/转换为字符串?

Java BufferedReader readLine() 在 read() 之后突然不工作

Java 控制台程序不让我输入字符串

java - 写入资源文件java?

java - 清理 java 服务器的 json 输入

java - 如何访问src目录下指定的现有文件夹中的文件?

scala - 猫效应 : How to transform `List[IO]` to `IO[List]`

java - 读取文本文件(我已经知道)然后在 GUI 中显示它?