`
cakin24
  • 浏览: 1390048 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

Java 7新增机制——自动关闭资源的try语句

    博客分类:
  • java
阅读更多

1 自动关闭资源介绍

        Java 7增强了try语句的功能——它允许在try关键字后跟一对圆括号,圆括号可以声明,初始化一个或多个资源,此处的资源指得是那些必须在程序结束时必须关闭的资源(比如数据库连接,网络连接等),try语句在该语句结束时自动关闭这些资源。

        为了保证try语句可以正常关闭资源,这些资源实现类必须实现Closeable或AutoCloseable接口,实现这些类就必须实现close方法。

 

2 代码示例

import java.io.*;

public class AutoCloseTest
{
	public static void main(String[] args)
		throws IOException
	{
		try (
			// 声明、初始化两个可关闭的资源
			// try语句会自动关闭这两个资源。
			BufferedReader br = new BufferedReader(
				new FileReader("AutoCloseTest.java"));
			PrintStream ps = new PrintStream(new
				FileOutputStream("a.txt")))
		{
			// 使用两个资源
			System.out.println(br.readLine());
			ps.println("庄生晓梦迷蝴蝶");
		}
	}
}

 

3 运行结果

E:\test\Java\Java8\ExceptionTEST\src>java AutoCloseTest
import java.io.*;

文件a.txt中生成

庄生晓梦迷蝴蝶

 

4 结果分析

try后的小括号分别声明,初始化两个IO流,由于BufferedReader,PrintStream都实现了Closeable接口,而且它们放在try语句中声明和初始化,所有try语法会自动关闭它们。因此上面的代码是安全的。

0
0
分享到:
评论

相关推荐

    Java JDK 6学习笔记——ppt简体版

    5. **改进的JDBC**:JDBC API在Java 6中也得到了增强,如自动关闭资源的try-with-resources语句,简化了数据库连接的管理。 6. **XML处理改进**:JDK 6对DOM、SAX和StAX等XML处理API进行了优化,提高了性能和易用性...

    java初级练习项目 移动开户

    - 在开户过程中可能出现各种异常情况,如输入非法、账户已存在等,需要使用try-catch语句进行异常捕获和处理。 3. **集合框架**: - 用户和账户信息通常需要存储在数据结构中,如ArrayList或HashMap,用于查找、...

    Java完全参考手册(第8版) jdk1.7文档

    Java 7引入了自动资源管理机制,允许开发者在try语句中声明那些实现`AutoCloseable`接口的对象,这样可以确保这些资源在finally块中被正确关闭,从而避免资源泄露的风险。 #### 2. 异步文件I/O (NIO.2) Java 7增强...

    Thinking in Java——自己手写的代码

    7. **多线程**:讲解如何创建和管理线程,以及同步机制如synchronized关键字、wait()、notify()和notifyAll()方法。 8. **枚举和注解**:Java 5新增的特性,枚举用于定义常量,注解提供元数据,增强了代码的可读性...

    JAVA7新特性介绍(官方公布)中文版[参照].pdf

    Java 7引入了一个新的语法结构——try-with-resources,使得资源的打开和关闭更加简洁和安全,减少了可能出现的资源泄露。 10. **多catch块**: 开发者可以在一个catch块中捕获多个异常类型,简化了异常处理代码...

    Java7 新特性

    Java 7 还新增了`try-with-resources`语句,用于自动关闭实现了`AutoCloseable`接口的资源对象。这简化了资源管理和异常处理。 ##### 使用示例 假设我们需要从指定路径读取文件的第一行内容: ```java public ...

    java面试——厦门-中软国际-Java中级.zip

    - 掌握try-catch-finally语句块的用法。 - 了解异常链、自定义异常及如何合理抛出和捕获异常。 6. **反射机制**: - 使用反射进行类的动态加载、构造函数的调用、方法的执行、字段的访问。 - 掌握Class类、...

    java JDK 1.7、JDK 1.8、JDK 1.9各windows版本64位官方下载及对应的中文官方文档API.rar

    这个版本在2011年发布,引入了许多新特性,如Try-with-resources语句,用于自动关闭资源;钻石操作符(),简化了匿名内部类的创建;以及Strings in switch语句,允许字符串直接在switch结构中使用。此外,还增强了...

    java1.7_api英文

    首先,最引入注目的特性之一是“try-with-resources”语句,这是一个增强的异常处理机制,允许自动关闭在try块中打开的资源,如文件流或数据库连接。通过实现AutoCloseable接口,类可以参与到这个机制中,确保资源在...

    Sams Teach Yourself Java in 21 Days (Covering Java 7 and Android) (6th Edition)

    Java 7是Java的一个版本,它引入了一些新的特性,例如二进制字面量、数字字面量的改进、多个异常处理和try-with-resources语句等,这些改进有助于简化代码编写和提高效率。 3. Android编程:本书特别强调Android...

    JAVA初级项目——实现图书管理系统

    * 异常处理:系统没有使用异常处理机制,但是可以使用try-catch语句来捕捉和处理异常。 4. 图书管理系统的实现: * 图书新增:系统实现了图书的新增功能,用户可以输入图书信息来新增图书。 * 图书删除:系统...

    jdk7.win32.x86_64_1.7.0.u45

    5. **尝试/资源/捕获**(Try-with-resources):确保资源在使用完毕后被正确关闭,增强了代码的健壮性。 6. **元注解**:允许开发者定义自己的注解,增强了元编程能力。 **JDK的组成部分**: 1. **JRE(Java ...

    深潜数据海洋:Java文件读写全面解析与实战指南

    使用`try-with-resources`语句可以确保流资源在使用完毕后自动关闭,避免资源泄露。 ##### 示例:优雅的错误处理 ```java import java.io.RandomAccessFile; import java.io.IOException; public class ...

    JDK1.7版本

    在try块中声明的实现了AutoCloseable接口的资源会在finally块执行时自动关闭,降低了出错的可能性。 2. **多 catches块**:在Java 7中,可以在一个catch子句中捕获多个异常类型,提高了代码的可读性和简洁性。 3. ...

    北大青鸟 S1 JAVA DVD项目

    3. **异常处理**:Java的异常处理机制(try-catch-finally)用于捕获和处理运行时错误,确保程序的稳定性和健壮性。 4. **文件和IO流**:学习如何读写文件,使用File类和IO流进行数据的输入输出,可能是模拟DVD中的...

    JavaJDK6学习教程ppt简体中文版附课本代码

    Java JDK6学习教程是针对Java开发初学者及进阶者的重要资源,涵盖了Java语言的基础到高级特性,尤其对于使用JDK6版本的开发者来说,这是一个不可或缺的学习材料。本教程通过PPT的形式,以简体中文呈现,使得学习过程...

    深入浅出java程序语言设计.pdf

    从提供的信息来看,这份资料似乎是一本关于Java编程语言的深度教程——《深入浅出Java程序语言设计》的完整版PDF。尽管没有直接提供书籍的内容,但从标题、描述及标签中,我们可以推断出该书可能涵盖的一些核心知识...

    java核心技术卷一:基础知识(第八版)英文原版

    5. **异常处理**:讲解Java中的异常处理机制,包括try-catch-finally语句块的使用。 6. **集合框架**:介绍Java中的集合框架,如List、Set、Map等容器的使用方法。 7. **输入/输出(I/O)**:解释Java中的文件读写操作...

Global site tag (gtag.js) - Google Analytics