FileReader和BufferedReader在释放流的时候需要都调用close吗?

在读取本地文件时,一般会用缓存层BufferedReader、BufferedInputStream包装输入流,比如

FileReader fileReader = new FileReader("/path/to/file");
BufferedReader bufferedReader = new BufferedReader(fileReader);

那么在文件读取完成之后,是否有必要分别关闭fileReader和bufferedReader。

fileReader.close();
bufferedReader.close();
javaioreaderclose
1
397
小课
小课2022-06-07 19:10
1 个回答

不需要,调用bufferedReader.close()即可,BufferedReader的close方法会调用它所关联的Reader的close方法。

1public class BufferedReader {
2    private Reader in;
3    public BufferedReader(Reader in){
4        this.in = in;
5    }
6    public void close() throws IOException {
7        ...
8        in.close();
9        ...
10    }
11}
1
小课
小课2022-06-07 19:40
你的回答

内容