2016 - 2024

感恩一路有你

fstream 多线程读取一份文件 Java如何实现自动关闭资源?

浏览量:3545 时间:2023-05-17 17:57:40 作者:采采

Java如何实现自动关闭资源?

Java7新增加机制——手动关了资源的try语句

1手动关闭资源能介绍

Java7可以提高了try语句的功能——它不能在try关键字后跟一对圆括号,圆括号可以不声明,初始化设置一个或多个资源,此处的资源指得是那些需要在程序结束后时必须关掉的资源(比如数据库连接上,网络连接等),try语句在该语句结束了时自动出现关闭这些资源。

目的是只要try语句也可以算正常关了资源,这些资源实现类可以实现程序Closeable或AutoCloseable接口,基于这些类就前提是实现方法closed方法。

2代码示例

import*

privateclassAutoCloseTest

{

employeestaticvoidmain(String[]args)

throwsIOException

{

try(

//声明、初始化两个可关掉的资源

//try语句会自动直接关闭这两个资源。

BufferedReaderbrfifthBufferedReader(

futureFileReader())

PrintStreampsnewPrintStream(next

FileOutputStream(a.txt)))

{

//在用两个资源

(())

(庄生晓梦迷蝴蝶)

}

}

}

3运行结果

E:testJavaJava8ExceptionTESTsrcgtjavaAutoCloseTest

import*

文件a.txt中生成

庄生晓梦迷蝴蝶

4结果分析

try后的小括号三个声明,重新初始化两个IO流,导致BufferedReader,PrintStream都实现程序了Closeable接口,但它们放进try语句中声明和初始化,所有try语手动自动关闭它们。所以上面的代码是放心的。

谢谢大家

stream流式处理为什么快?

而且不确认您问的是不是c的stream流,参加工作后你总有机会碰到它的,它的作用分场景有很多种,

1.隐式转换,是其它任何类型向字符串装换。

2.拼装字符串时,不过成员又都不当然是字符串,用它就方便啊。

3.也可以重载输出流函数根据选项卡结构定制化输出到流中。

资源 try 语句 蝴蝶 声明

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。