Что такое try-with-resources в Java?
Справа try-with-resources, представленная на Java 7, хорошая функция обработки исключений. Это оператор try, который объявляет один или несколько ресурсов. Он был введен из-за того, что некоторые ресурсы, используемые в Java (например, SQL-соединения или потоки), трудно обрабатывать должным образом.
import Java.util.*; import Java.io.*; public class TestClass{ public static void main(String[] args) { try { FileReader fileReader = new FileReader("D:\\test.txt"); int chr = fileReader.read(); while(chr != -1) { System.out.print((char) chr); chr = fileReader.read(); } if(fileReader != null) { fileReader.close(); } } catch (IOException e){ e.printStackTrace(); } finally{ // код здесь } } }
Замена try-catch-finally с помощью try-with-resources
Новая функция try-with-resources заключается в замене традиционного и подробного блока try-catch-finally. Реализация ресурса должна выполняться в try(). Скобка() вводится после утверждения try, и экземпляр ресурса должен происходить в пределах этой скобки, как показано ниже:
import Java.util.*; import Java.io.*; public class TestClass{ public static void main(String[] args) { try (FileReader fileReader = new FileReader("D:\\test.txt");){ int chr = fileReader.read(); while(chr != -1) { System.out.print((char) chr); chr = fileReader.read(); } } catch (IOException e){ e.printStackTrace(); } } }
Ресурсы автоматически закрываются после попытки. В списке ресурсов try вы можете объявить несколько ресурсов, но все эти ресурсы должны реализовать интерфейс Java.lang.AutoCloseable.
Источник: http://net-informations.com/Java/cJava/resources.htm