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 :
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));
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.
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));
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.