`
tangzongyun
  • 浏览: 191738 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Java 7 新的 try-with-resources 语句,自动资源释放

    博客分类:
  • Java
 
阅读更多

 

 

http://blog.csdn.net/lzm1340458776/article/details/37872095

java

 

private static void customBufferStreamCopyJDK7(File source, File target) {
		//try()-()写需要释放的资源,数据流会在 try 执行完毕后自动被关闭,
		//前提是,这些可关闭的资源必须实现 java.lang.AutoCloseable 接口
		try (InputStream fis = new FileInputStream(source);
				OutputStream fos = new FileOutputStream(target)){

			byte[] buf = new byte[8192];

			int i;
			while ((i = fis.read(buf)) != -1) {
				fos.write(buf, 0, i);
			}
		}
		catch (Exception e) {
			e.printStackTrace();
		}
	}
	//
	private static void customBufferStreamCopyOldJDK(File source, File target) {
	    InputStream fis = null;
	    OutputStream fos = null;
	    try {
	        fis = new FileInputStream(source);
	        fos = new FileOutputStream(target);
	 
	        byte[] buf = new byte[8192];
	 
	        int i;
	        while ((i = fis.read(buf)) != -1) {
	            fos.write(buf, 0, i);
	        }
	    }
	    catch (Exception e) {
	        e.printStackTrace();
	    } finally {
	        close(fis);
	        close(fos);
	    }
	}
	 
	private static void close(Closeable closable) {
	    if (closable != null) {
	        try {
	            closable.close();
	        } catch (IOException e) {
	            e.printStackTrace();
	        }
	    }
	}

 

分享到:
评论

相关推荐

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

    从 Java 1.7 开始,Java 引入了 try-with-resources 语句,实现自动关闭资源。 try-with-resources 语句的基本语法是:try (资源声明) { 语句块 } catch (异常类型) { 异常处理 }。其中,资源声明是指在 try 块中的...

    java.try-except-finally(解决方案).md

    为了解决这一问题,Java 7引入了try-with-resources语句,这是一种特殊的try语句,它保证每个资源在语句结束时自动关闭。资源是指实现了AutoCloseable接口的对象,它有一个close方法用于清理资源。在try-with-...

    jdk7最新特性-trywresources

    总的来说,JDK7的“try-with-resources”特性是Java资源管理的一个重大改进,它提高了代码的可读性和可靠性,降低了出错的可能性,同时也鼓励了更好的编程实践。通过利用这一特性,开发者可以更高效地编写和维护代码...

    java.try-except.md

    为了简化资源的关闭过程,Java 7引入了try-with-resources语句,它能够自动管理资源的关闭操作,确保在try块执行完毕后自动调用资源的close()方法。这样既减少了代码量,也避免了忘记关闭资源导致的资源泄漏问题。 ...

    java.try-except-finally(处理方案示例).md

    通过合理使用try-catch-finally或try-with-resources语句,可以有效地管理异常,确保资源被正确地清理和释放,减少程序中可能的错误和资源泄露。开发者需要熟练掌握这些知识,并在编程实践中恰当地应用。

    Try-with-resources-Cwiczenie

    在Java编程语言中,"Try-with-resources"(也称为资源式代码块)是自Java 7版本引入的一项强大特性,旨在简化资源管理,特别是那些具有自动关闭功能的资源,如文件流、数据库连接、网络连接等。这一特性基于《Java ...

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

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

    java.try-catch-finally(解决方案).md

    在Java 7及以上版本中,Java还提供了try-with-resources语句,这是一种特殊的try语句,用于自动管理资源。当try语句结束时,它会自动调用实现了AutoCloseable或Closeable接口的资源的close()方法。这使得代码更加...

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

    5. **try-with-resources**:一种新的资源管理方式,自动关闭在try语句块中打开的资源,如输入/输出流。 6. **改进的类型推断**:编译器能更好地推断局部变量和匿名类的类型,减少冗余的类型声明。 7. **二进制...

    Java异常处理新特性

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

    java72-java-advance.zip

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

    Java通过try释放资源的方法

    Java中的try-with-resources语句是JDK 7引入的一个重要特性,它旨在简化资源管理,尤其是那些需要手动关闭的I/O资源,如文件输入/输出流。这一特性使得程序员能够更加优雅地处理资源释放,避免了传统的try-catch-...

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

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

    IOException(解决方案).md

    - Java 7引入的try-with-resources语句能够自动管理资源,确保资源在结束使用后关闭,即使在发生异常的情况下也能保证资源的安全释放。 - 可以将实现了AutoCloseable或Closeable接口的资源放在try语句的括号内,如...

    java.try-except(解决方案).md

    最后,自Java 7起,Java 引入了 try-with-resources 语句,这是一种特殊的 try 语句,它保证了每个资源在语句结束时都被自动关闭。这种机制大大简化了需要管理资源的代码,尤其是那些涉及文件I/O和数据库连接的代码...

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

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

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

    3. **改进的异常处理**:try-catch-finally语句块现在可以包含多个资源,它们会在使用后自动关闭,这是通过try-with-resources语句实现的。 4. **动态类型语言支持**:Java 7允许在方法签名中使用类型推断,这使得...

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

    这个版本的JDK包含了对Java 7语言特性的支持,例如动态类型、钻石操作符和try-with-resources语句等。 Java 7(也称为Java SE 7或Java 7.0)是Oracle公司于2011年7月发布的一个重要更新,引入了许多新特性,旨在...

    3, Java核心技术1 带资源声明的 try 语句

    try-with-resources 语句中的资源只能是实现了java.lang.AutoCloseable接口的类实例,但是 Java SE 7 之後的所有实现了java.io.Closeable的类都实现了java.lang.AutoCloseable接口(该接口是在Java SE 7中才引入的)...

Global site tag (gtag.js) - Google Analytics