gpt4 book ai didi

java - 我应该始终关闭 BufferedReader 吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:10:02 24 4
gpt4 key购买 nike

这是将文件读入 List 的行:

List<String> lines =
new BufferedReader(
new InputStreamReader(classLoader.getResourceAsStream(fileName)))
.lines()
.collect(Collectors.toList());

这是正确的还是我应该将 BufferedReader 分配给一个变量以便稍后能够关闭它?

最佳答案

您应该始终关闭您的资源。对于只快速使用几个文件的小程序来说,关闭可能不是什么大问题,因为大多数成熟的操作系统会在进程完成时为您关闭文件。但是,一次可以打开的文件数量通常有限制。保持整洁是件好事,这样当您开始编写更大的程序时就不会达到这些限制。还有其他类型的资源,例如网络和串行端口,您可能希望在您的程序完成后让其他人使用它们,即使它仍在运行也是如此。

手动关闭文件的替代方法是使用 try-with-resources语法,确保即使出现错误也能正确关闭文件:

List<String> lines;
try(BufferedReader reader = new BufferedReader(
new InputStreamReader(classLoader.getResourceAsStream(fileName)))) {
lines = reader.lines().collect(Collectors.toList());
}

关于java - 我应该始终关闭 BufferedReader 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54888904/

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