gpt4 book ai didi

java - 函数退出后,函数内部打开的文件/文件指针(缓冲读取器)会发生什么?

转载 作者:行者123 更新时间:2023-11-30 07:06:36 24 4
gpt4 key购买 nike

我想知道函数退出后,函数内部打开的文件/文件指针(缓冲读取器)会发生什么?

例如

public void foo(){
String curr;
for (int i = 0; i < 100; i++){
BufferedReader br = new BufferedReader(new FileReader(file_location));
while((curr = br.readLine()) != null){
/* do something */
}
}
}

我们必须注意,我没有关闭缓冲读取器。

谢谢。

最佳答案

基本上 BufferedReader 对象本身丢失了,您没有更多的方法可以访问它。

但是,当然,JVM 可能仍然保留该打开文件的某些文件句柄。从这个意义上说,你只是造成了某种资源泄漏;从理论上讲,当您经常这样做时,您可能会遇到真正的问题。

更多细节取决于 JVM 本身;以及它运行的操作系统。

关于java - 函数退出后,函数内部打开的文件/文件指针(缓冲读取器)会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40022805/

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