Skip to content
Related Articles

Related Articles

Java SE 9 : Improved try-with-resources statements
  • Last Updated : 06 Feb, 2019
GeeksforGeeks - Summer Carnival Banner

In java 7 or 8 if a resource is already declared outside the try-with-resources statement, we should re-refer it with local variable. That means we have to declare a new variable in try block. Let us look at the code explaining above argument :




// Java code illustrating try-with-resource
import java.io.*;
  
class Gfg
{
    public static void main(String args[]) throws IOException
    {
          
        File file = new File("/Users/abhishekverma/desktop/hello.txt/");
          
        BufferedReader br = new BufferedReader(new FileReader(file));
  
        // Original try-with-resources statement from JDK 7 or 8
        try(BufferedReader reader = br)
        {
            String st = reader.readLine();
            System.out.println(st);
        }
    }         
}

In Java 9 we are not required to create this local variable. It means, if we have a resource which is already declared outside a try-with-resources statement as final or effectively final, then we do not have to create a local variable referring to the declared resource, that declared resource can be used without any issue. Let us look at java code explaining above argument.




// Java code illustrating improvement made in java 9
// for try-with-resources statements
  
import java.io.*;
  
class Gfg
{
    public static void main(String args[]) throws IOException
    {
          
        File file = new File("/Users/abhishekverma/desktop/hello.txt/");
          
        BufferedReader br = new BufferedReader(new FileReader(file));
          
        // New and improved try-with-resources statement in JDK 9
        try(br)
        {
            String st = br.readLine();
            System.out.println(st);
        }
  
    }         
}

This article is contributed by Abhishek Verma. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.




My Personal Notes arrow_drop_up
Recommended Articles
Page :