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
 
     
    