【发布时间】:2016-05-03 15:00:31
【问题描述】:
我通常通过获取 BufferedReader 来打开文件:
Files.newBufferedReader(myPath).lines()
.doStuff()
.doMoreStuff();
当方法抛出异常时会发生什么,Reader 是否会像 try-with-resource 一样自动关闭?我在文档中找不到参考。
【问题讨论】:
-
不,我不这么认为。这就是为什么它建议使用 try-with-resource 或至少 try-cacth-finally 构造。
-
我只是看不到使用工厂方法而不是简单地创建一个新的BufferedReader的好处。我认为这样会更简洁,但是必须用异常处理来包装它,这与标准初始化没有什么不同。
标签: java file exception memory-leaks bufferedreader