Lets say I need to have this instance new BufferedReader(new InputStreamReader(new FileInputStream(path)))
, what is the best way to write this using try with resource.
1. What I am used to write - because only the first Closable need to be closed
try (FileInputStream fileInputStream = new FileInputStream(path)) {
BufferedReader reader = new BufferedReader(new InputStreamReader(fileInputStream));
...
}
2. The outer most Closable closes its inner Closable etc.
try (BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(path)))) {
...
}
3. Use a separate resource for each Closable
try (
FileInputStream fileInputSream = new FileInputStream(path);
InputStreamReader inputStreamReader = new InputStreamReader(fileInputSream);
BufferedReader reader = new BufferedReader(fileInputSream)) {
...
}
Thanks,
Ido Sorozon