【发布时间】:2019-04-05 18:21:34
【问题描述】:
假设我需要这个实例 new BufferedReader(new InputStreamReader(new FileInputStream(path))),使用 try with resource 编写此实例的最佳方法是什么。
1.我习惯写的——因为只有第一个Closable需要关闭
try (FileInputStream fileInputStream = new FileInputStream(path)) {
BufferedReader reader = new BufferedReader(new InputStreamReader(fileInputStream));
...
}
2.最外面的 Closable 关闭它的内部 Closable 等等。
try (BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(path)))) {
...
}
3.为每个 Closable 使用单独的资源
try (
FileInputStream fileInputSream = new FileInputStream(path);
InputStreamReader inputStreamReader = new InputStreamReader(fileInputSream);
BufferedReader reader = new BufferedReader(fileInputSream)) {
...
}
谢谢,
伊多·索罗宗
【问题讨论】:
-
您的问题类型似乎已被问到many times previously on this site
-
这是一个不同的问题,我在网上搜索过,我能找到的唯一答案是当我有 2 个单独的资源时。但是你的一个搜索结果this 触动了我的困境,也许我的搜索字符串不够好