在Java7中引入了Try-with-Resources。使用它的目的是在资源被使用后自动关闭。限制是资源需要在try之前或try语句内部声明,否则会引发编译错误。
Java 9改进了try-with-resources,不再需要在try语句中声明对象。
在下面的示例中,我们实现了“try-with-resources”的概念。
示例import java.io.*;
public class TryWithResourceTest {
public static void main(String[] args) throws FileNotFoundException {
String line;
Reader reader = new StringReader("nhooo.com");
BufferedReader breader = new BufferedReader(reader);
try(breader) {
while((line = breader.readLine()) != null) {
System.out.println(line);
}
} catch(IOException ioe) {
ioe.printStackTrace();
}
}
}
输出结果nhooo.com