gpt4 book ai didi

java - BufferedReader 永远不会关闭。后果是什么?

转载 作者:行者123 更新时间:2023-12-04 05:11:39 24 4
gpt4 key购买 nike

我试图了解如果 BufferedReader 从未关闭会产生什么后果?
我刚刚意识到许多静态代码都有一个 BufferedReader 并且它们永远不会被 try...catch..finally 关闭(br.close)

大部分代码如下所示:

public static boolean isProcessX24Success(String data) throws Exception
{
BufferedReader br = new BufferedReader(new StringReader(data));
String line = "";
String result = "";
while ((line = br.readLine()) != null)
{
if (line.contains("SUCCESS X24"))
return true;
}

return false;
}

如您所见,finally 中没有 br.close 。这是否存在问题?如果是这样是什么?对该方法(以及其他此类方法)的调用是按顺序完成的——而不是由多个线程完成的。

最佳答案

没问题,因为您在 StringReader 上使用它.当范围BufferedReder剩下的将有资格进行垃圾收集。
如果您没有关闭(例如 FileReader),这将是一个问题。因为系统资源不会被正确关闭,并且在程序结束之前文件上可能有一个读锁。

写入时可能会出现问题,因为由于缓冲,数据可能永远不会写入文件。

关于java - BufferedReader 永远不会关闭。后果是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14859566/

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