An alternative to the try-with-resources statement
Java 7 added the notion of AutoCloseable
and the try-with-resources statement.
This statement allows us to provide a set of resources that will be automatically closed once the code is done with them. So, there will be no more risk (or at least less risk) of forgetting to close a file.
Before Java 7, this was a total mess, as shown in the following code:
BufferedReader br = null; // Nulls are bad, we know that try { br = new BufferedReader(new FileReader ("./src/main/kotlin/7_TryWithResource.kt ")); System.out.println(br.readLine()); } finally { if (br != null) { // Explicit check br.close(); // Boilerplate } }
After Java 7 was released, the preceding code could be written as follows:
try (BufferedReader br = new BufferedReader...