异常处理的try-with-resources语句

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_42220174/article/details/102594262

       在Java 7之前,finally块的代码是必须要写的,这让代码看上去不是那么美观,Java 7增强了try语句的功能——它允许在try关键字后跟一对圆括号,圆括号可以声明、初始化一个或多个资源,多个资源之间以;相隔,此处的资源是指那些必须在程序结束后显示关闭的资源(比如数据库连接、网络连接等),try语句在执行结束之后自动关闭这些资源。
:为了保证try语句可以正常关闭资源,这些资源实现类必须实现AutoCloseableCloseable接口,实现这两个接口必须实现close()方法。

public static void main(String[] args) throws FileNotFoundException, IOException {
	try(//声明、初始化两个可关闭的资源,try语句会关闭这两个资源
		BufferedReader br = new BufferedReader(new FileReader("a.txt"));
		PrintStream ps = new PrintStream(new FileOutputStream("a.txt")))
	{
		//使用两个资源
		System.out.println(br.readLine());
		ps.println("xingze");
	}
}

       自动关闭资源的try语句相当于包含了隐式的finally块(这个finally块用于关闭资源),因此这个try语句可以既没有catch块,也没有finally块。

猜你喜欢

转载自blog.csdn.net/qq_42220174/article/details/102594262