gpt4 book ai didi

java - BufferedReader 正确使用

转载 作者:行者123 更新时间:2023-12-03 20:26:29 25 4
gpt4 key购买 nike

我用下面的样式用BufferedReader读取文件

try (BufferedReader br = new BufferedReader(new FileReader("my_file"))) {
...
br.close();
} catch( IOException e ) {
System.out.println( e.getMessage() );
}

我想知道的事情:

1- close() 在正确的位置吗?

2- 我应该为 `close() 再放一个 try..catch 吗?

3- 因为我使用 new 作为 br,所以调用 close() 就足够了,否则我必须编写 br = null 用于 GC?

4- FileReader 已经new了,我应该销毁它吗?

最佳答案

  1. 由于您使用 try-with-resource声明,您不需要显式关闭流。在任何情况下它都会自动关闭。如果您没有使用 try-with-resource,那么 close() 就会出现在错误的位置。为了确保您的资源始终处于关闭状态,您需要在 finally block 中调用 close()
  2. 如果你在 finally block 中调用 close() ,你也需要捕获它抛出的已检查异常。如果您使用 try-with-resource(就像您所做的那样),那就没问题了
  3. 您的所有变量都只存在于 try block 的范围内,因此您是安全的
  4. BufferedReader 关闭修饰的 Reader,因此您不必显式关闭它

关于java - BufferedReader 正确使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47455985/

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