Open In App
Related Articles

Java SE 9 : Improved try-with-resources statements

Improve Article
Improve
Save Article
Save
Like Article
Like

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.


Last Updated : 06 Feb, 2019
Like Article
Save Article
Similar Reads
Related Tutorials