java的try后面跟括号
如题,在工作中遇见了在try...catch语句的try后面加括号,不懂,查资料明白之后,特此记录.
下面是一段很简单的从文件读取文本的输入流:
package com.springcloud.server.springserver;import java.io.*;public class TryTest {public static void main(String[] args) {File file = new File("E:\\springcloud\\spring-eureka\\src\\main\\resources\\a.txt");InputStream inputStream = null;try {inputStream = new FileInputStream(file);byte b[] = new byte[1024];int len = 0;int temp=0; //所有读取的内容都使用temp接收while((temp=inputStream.read())!=-1){ //当没有读取完时,继续读取b[len]=(byte)temp;len++;}System.out.println(new String(b,0,len));}catch (Exception e){e.printStackTrace();}finally {try {inputStream.close();} catch (IOException e) {e.printStackTrace();}}}
}
有一定java功底的人一眼就看的明白,非常简单.
但是,在java1.7的版本中,我们还有另外一种写法来关闭这个inputstream,也就是在try后面加括号,代码如下:
package com.springcloud.server.springserver;import java.io.*;public class TryTest {public static void main(String[] args) {File file = new File("E:\\springcloud\\spring-eureka\\src\\main\\resources\\a.txt");try (InputStream inputStream = new FileInputStream(file)){byte b[] = new byte[1024];int len = 0;int temp=0; //所有读取的内容都使用temp接收while((temp=inputStream.read())!=-1){ //当没有读取完时,继续读取b[len]=(byte)temp;len++;}System.out.println(new String(b,0,len));}catch (Exception e){e.printStackTrace();}}
}
为了验证,我们在FileInputStream的close方法处打上断点,并且以debug的方式启动上面的方法:
启动,发现我们没有显示的写close(),程序还是进入了close()方法:
由此可知,在try后面写的内容是可以自动帮我进行close()的.
总结:
从java1.7版本开始,支持使用try后面跟随()括号管理释放资源,前提是这些可关闭的资源必须实现 java.lang.AutoCloseable 接口。
java的try后面跟括号相关推荐
- java基础---try后小括号(1.7后IO流的关闭方式)
package com.io;import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOExc ...
- [字符串题-java实现]20. 有效的括号
题目 给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效. 有效字符串需满足: 左括号必须用相同类型的右括号闭合. 左括号必须以正确的顺序闭合. 示例 ...
- java % 负数_Java如何在括号中显示负数?
下面的代码段向我们展示了如何在括号中显示或格式化负数.我们从定义数字格式开始,该模式有两部分,以分号分隔.在代码段中,我们使用了#,##0.00;(#,##0.00)模式.分号后的模式将用于格式化负数 ...
- java if后面要加大括号
项目中会有if判断后面不加大括号,但是后面还有很多逻辑处理.这样既不规范,也会导致修改代码时候造成不必要的麻烦,所以我将所有过我手的代码,都给修改过来了.比如: if(A) result = &quo ...
- 【Java】基于栈的括号匹配问题
这里只用一个方法(函数)描述这个算法: public int match(char[] bra_exp) {//初始化栈StackInterface<Character> stack = ...
- java中向上的尖括号是什么,什么lt; Tgt; (尖括号)在Java中是什么意思?
I am currently studying Java and have recently been stumped by angle brackets(<>). What exactl ...
- java如何实现添加尖括号_(尖括号)在Java中意味着什么?
< T>是通用的,通常可以读作"T型".它取决于<>左侧的类型它究竟意味着什么. 我不知道Pool或PoolFactory是什么,但你也提到了ArrayLi ...
- java 正则 大括号_正则表达式(括号)、[中括号]、{大括号}的区别小结 通用所有语言 系统...
正则表达式的() [] {}有不同的意思. () 是为了提取匹配的字符串.表达式中有几个()就有几个相应的匹配字符串. (\s*)表示连续空格的字符串. []是定义匹配的字符范围.比如 [a-zA-Z ...
- java正则 括号_java正则表达式获取大括号小括号内容并判断数字和小数亲测可用...
获取大括号小括号内容 项目开发用到了,暂做个简单记录 private static String regex = "\\{([^}]*)\\}";//匹配大括号 private s ...
- 【JAVA】 new ArrayList<> () {{}} 双花括号 是什么写法?
[JAVA] new ArrayList<> () {{}} 双花括号 是什么写法? 1.引言 很多时候,我们会看到 new ArrayList<String>(){{}}这样 ...
最新文章
- 如何避免重构带来的危险
- 连接mysql数据库,创建用户模型
- Android事件流程详解
- android线程控制UI更新(Handler 、post()、postDelayed()、postAtTime)
- 6-3 求链表的倒数第m个元素
- 面试官:Redis 内存数据满了,会宕机吗?
- 8.Java web—JSP基本语法
- 实用的 PHP 正则表达式
- orac l e数据库第一章
- 桌面计算机怎么覆盖文件,恢复被覆盖的文件_恢复被覆盖的桌面文件
- python tkinter button_Python3 Tkinter-Button
- SCJP java主方法解释
- 使用FFmpeg工具进行推流、拉流、截图、变速、转换,及常见问题处理
- 计算机网络共享打不开,电脑系统网络和共享中心打不开怎么办
- RocketMQ-顺序消息Demo及实现原理分析
- 将正负值分别显示的函数
- html设置ios状态栏颜色,ios 显示html标签,超链接颜色以及下划线的处理
- 【BZOJ 1934】 [Shoi2007]Vote 善意的投票
- abaqus算界面脱粘_ABAQUS粘聚力模型(-Cohesive-Model-)-应用小结.pdf
- 乐视android版本怎么升级,乐视手机EUI系统升级教程 乐视手机EUI系统怎么升级
热门文章
- 如何利用巨象指纹浏览器在twitter上找到精准客户
- 从coursera网站自动下载网课视频(Linux中bash操作)
- 开启 Kerberos 安全的大数据环境中,Yarn Container 启动失败导致作业失败
- 深入理解Java虚拟机-垃圾收集算法
- Cesium开发:简单箭头画法
- BigDecimal精度控制
- SQL Server 2019下载安装教程
- linux快速扫ip段端口,小巧快速的IP地址和端口扫描工具Angry IP Scanner
- eve单机版mysql_eve单机版中文下载_eve单机版下载-游迅网
- 默认关闭IDEA的注释doc的rendered view模式