关于java中io流的关闭问题,部分代码,这种情况用不用关闭new FileReader(file)?

我请教一下,关于java中io流的关闭问题,部分代码,这种情况用不用关闭new FileReader(file)?
最新回答
橘萝卜蹲

2024-07-02 11:36:39

是的,你的new FileReader(file)是一个匿名对象。

JVM中对于那些打开了没有关闭的IO文件流,会在不再被使用的情况下,等到下次做Full GC的时候把他们全部回收,尽量少使用这种写法。文章来自:
http://blog.csdn.net/kongxx/article/details/6405914
瑾色如弦

2024-07-02 19:26:43

public BufferedReader(Reader in) {
    this(in, defaultCharBufferSize);
}
public BufferedReader(Reader in, int sz) {
    ...
    this.in = in;//FileReader
    ...
}

看BufferedReader的close方法:

public void close() throws IOException {
    ...
    in.close();//调用FileReader的close方法
    ...
}

调用BufferedReader的close()方法就可以调用FileReader的close()方法,所以楼上的回答不正确.