Als vorletzte Verbesserung aus Project Coin in Java 7, welche ich in meinem Blog präsentieren möchte, will ich eine der interessantesten vorstellen. Die Behandlung von Streams und Closable Ressourcen haben ein verbessertes Handling im Try Block erfahren.
close() ist geschichte
Musste man bisher bei den diversen Streams, wie zB den FileInputStream, in einem try-catch-finally block selbst für das Schließen des Blocks sorgen, wird dies nun über neue Interface AutoCloseable geregelt. Dabei fällt nicht nur der finally Block weg, sogar der catch Block ist optional:
try(InputStream is = new FileInputStream(source); OutputStream os = new FileOutputStream(target)){ // read / write }
Erweiterungen an java.lang.Throwable sorgen dafür dass nach dem try Block automatisch die Streams geschlossen werden. Spart man sich dabei den catch Block werden dabei auftretende Exceptions sogar komplett unterdrückt und kommen nicht zu Tage.
Im try Block lassen sich wie im Beispiel aufgezeigt ein oder mehrere AutoCloseable Ressourcen gleichzeitig deklarieren.
Happy Coding
Schreibe einen Kommentar