gpt4 book ai didi

java - 这个 FileReader 如何获得 "closed"?

转载 作者:行者123 更新时间:2023-12-02 11:18:14 25 4
gpt4 key购买 nike

考虑以下事件序列

public static void main(String[] a) throws IOException {

FileReader f = new FileReader(a[0]);

System.out.println(f.ready()); // true

doSomethingWithReader(f);

System.out.println(f.ready()); // false
}

private static String doSomethingWithReader(FileReader reader) {

BufferedReader br = null;

try {
br = new BufferedReader(reader);
...
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}

return line;
}

FileReader 没有在任何地方关闭,但是什么关闭了它呢?

最佳答案

当您使用 BufferedReader 包装 FileReader(或任何 Reader)时,调用 .close() BufferedReader 上的也会关闭包装/底层的 FileReader

对于所有可用作包装器的标准 Reader、Writer、OutputStream 和 InputStream 类都是如此。

关于java - 这个 FileReader 如何获得 "closed"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9541614/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com