`

Java7中的try-with-resources

阅读更多

首先,我们看下面的代码。

BufferedReader br = null;
try {
    br = new BufferedReader(new FileReader("test.txt"));
    br.readLine();
} catch (Exception e) {
    e.printStackTrace();
} finally {
    if (br != null)
        try {
            br.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
}

    

    有些资源使用完是需要释放的,通常我们在 finally 语句中做这件事情。这样的代码看上去会很乱,要是 Java 能帮我们自动释放资源就好了。我们的美好愿望实现了,Java SE 7 引入了 try-with-resources 语句,只要你的类实现了接口 java.lang.AutoCloseable, java 自动帮我们调用 close 方法释放资源,看看下面的代码吧,是不是非常整洁。

try (BufferedReader br = new BufferedReader(new FileReader("test.txt"))) {
    br.readLine();
} catch (Exception e) {
    e.printStackTrace();
}

 

http://blog.csdn.net/shangboerds/article/details/49493721

更加详细:

http://blog.csdn.net/hengyunabc/article/details/18459463

分享到:
评论

相关推荐

    Java try-with-resource语法使用解析

    public class TryWithResource { public static void main(String[] args) { try (BufferedInputStream bin = new BufferedInputStream(new FileInputStream(new File("test.txt"))); BufferedOutputStream bout ...

    Java使用 try-with-resources 实现自动关闭资源的方法

    Java 使用 try-with-resources 实现自动关闭资源的方法 Java 中的自动资源管理是指在程序执行完毕后自动关闭资源...try-with-resources 语句是 Java 中的一个重要特性,用于自动关闭资源,提高代码的可读性和可靠性。

    Java如何优雅地关闭资源try-with-resource及其异常抑制

    JDK7 中新增了 try-with-resource 语法,实现了自动关闭外部资源的功能。当一个外部资源的句柄对象实现了 AutoCloseable 接口,那么就可以将上面的板式代码简化为以下形式: ```java public static void main...

    Try-with-resources-Cwiczenie

    标题 "Try-with-resources-Cwiczenie" 可能是一个练习或者教程,其主要内容可能是围绕如何在实际编程中运用try-with-resources语句进行教学。这可能包括以下几个部分: 1. **概念介绍**:首先会解释try-with-...

    jdk-1.7-java-7-openjdk-amd64.zip

    1. **多 catch 语句**:在Java 7中,可以在一个try-catch块中捕获多种类型的异常,提高了代码的可读性和简洁性。 2. **字符串in switch**:允许在switch语句中直接使用字符串,使得处理枚举类型或常量更加灵活。 3...

    jdk7最新特性-trywresources

    其中,“try-with-resources”是JDK7中的一个显著特性,它对处理资源管理的方式进行了革新,尤其是在处理诸如文件流、数据库连接等需要关闭的资源时,极大地简化了代码并减少了潜在的资源泄漏。 在JDK6及之前的版本...

    java 连接sqlserver使用的java-sqlserver-connect.jar包

    - JRE7:Java 7(JRE7)是Oracle在2011年发布的版本,引入了一些新特性,比如try-with-resources语句,用于自动关闭资源,增强了switch语句等。 - JRE8:Java 8(JRE8)于2014年发布,引入了lambda表达式、函数式...

    如何在JDK 9中更简洁使用 try-with-resources 语句

    在 JDK 7 中引入的 try-with-resources 语句极大地简化了资源管理,特别是对于那些需要在使用后关闭的资源,如文件流、数据库连接等。然而,在早期版本中,如果要处理多个资源,代码可能会变得有些冗余。JDK 9 ...

    java72-java-advance.zip

    1. **try-with-resources语句**:Java 7引入了try-with-resources语句,使得自动关闭资源(如文件、数据库连接等)变得更加简便和安全。开发者不再需要在finally块中手动关闭资源,因为Java会自动处理。 2. **多...

    jdk7 java7 jdk-7u75-windows-x64.zip

    8. **改进的Swing和JavaFX**:Swing组件和JavaFX在Java 7中得到升级,提高了用户体验和性能。 9. **元空间(MetaSpace)**:替代了以前的PermGen空间,用于存储类元数据,减少了因 PermGen 满导致的...

    关于java try()的括号中代码含义(实现Closeable接口)(csdn)————程序.pdf

    在Java 7及更高版本中,引入了一种新的语法糖,称为"try-with-resources",它使得资源管理变得更加简洁和高效。在本文中,我们将详细探讨`try()`括号中的代码含义,特别是与实现`Closeable`接口相关的知识点。 首先...

    redis-distribute-lock:Redis分布式锁的try-with-resources实现

    Redis分布式锁的try-with-resources实现 一、简介 在当今这个时代,单体应用(standalone)已经很少了,java提供的synchronized已经不能满足需求,大家自然 而然的想到了分布式锁。谈到分布式锁,比较流行的方法有3...

    mysql-connector-java-5.1.26-bin.zip

    在实际开发中,为了更好的错误处理和资源管理,通常会使用try-with-resources语句和Connection池。 MySQL Connector/J 5.1.26版本可能不支持最新的MySQL特性或安全性更新,因此,对于新的项目,建议使用更现代的...

    jdk-7u45-windows-x64.exe Java 1.7.0

    在给定的标题"jdk-7u45-windows-x64.exe Java 1.7.0"中,我们关注的是Java 1.7.0版本的64位Windows版JDK。这个版本的JDK包含了对Java 7语言特性的支持,例如动态类型、钻石操作符和try-with-resources语句等。 Java...

    java高端技术课程--Java异常处理详解

    7. **try-with-resources**:从Java 7开始,引入了try-with-resources语句,用于自动关闭实现了`AutoCloseable`接口的资源,避免资源泄露。 通过深入学习这个“java高端技术课程--Java异常处理详解”,开发者不仅...

    java-7-openjdk-amd64-linux.tar.gz

    这个版本引入了许多新特性,包括类型推断(钻石操作符)、多 catch 块、try-with-resources语句、动态类型语言支持等,旨在提升开发效率和代码的可读性。 2. **OpenJDK**: OpenJDK项目始于2006年,是Oracle公司与...

    java-jdk7-jdk-8u221-windows-x64中.zip

    JDK 7引入了一些显著的改进,例如类型推断(Type Inference)使得代码更简洁,try-with-resources语句简化了资源管理,以及多 catches 语句,允许一次捕获多个异常类型。此外,还增强了动态语言支持,使得Java平台能...

    java1.7-API-英文版

    6. **自动资源管理**:`try-with-resources`语句是Java 7引入的新特性,它可以确保在程序结束时正确关闭资源,如数据库连接和文件流。 7. **钻石操作符**:Java 7引入了钻石操作符 `<>`,简化了匿名类型的实例化,...

    mysql-connector-java-5.1.45-bin.jar

    例如,使用`Connection.setAutoCommit(false)`开启手动事务,使用Apache Commons DBCP或C3P0等连接池库来提高性能,以及使用try-with-resources语句确保资源始终得到正确关闭。 总的来说,`mysql-connector-java-...

    Java异常处理新特性

    这就是 try-with-resources 特性所带来的优势,是其中的资源类实现了 Java 的 AutoCloseable 接口,该接口只有一个 `close()` 方法,在退出 try 语句后会自动被执行,在 Java7 中很多涉及资源使用的类都实现了 ...

Global site tag (gtag.js) - Google Analytics