当前位置: 首页 > news >正文

聊城网站推广品牌怎么把网址做成网页链接

聊城网站推广品牌,怎么把网址做成网页链接,北京建展科技发展有限公司,网站新闻稿模板文章目录 java中try-with-resources自动关闭io流0 简要说明try-with-resources java中try-with-resources自动关闭io流 0 简要说明 在传统的输入输出流处理中,我们一般使用的结构如下所示,使用try - catch - finally结构捕获相关异常,最后不…

文章目录

  • java中try-with-resources自动关闭io流
    • 0 简要说明
    • try-with-resources

java中try-with-resources自动关闭io流

0 简要说明

在传统的输入输出流处理中,我们一般使用的结构如下所示,使用try - catch - finally结构捕获相关异常,最后不管是否有异常,我们都将流进行关闭处理

  try {//业务代码} catch (SQLException e) {// 异常,数据回滚try {connection.rollback();} catch (SQLException ex) {log.error(ERROR_MSG, e);throw new IllegalArgumentException(e);}log.error(ERROR_MSG, e);throw new IllegalArgumentException(e);} finally {if (Objects.nonNull(preparedStatement)) {try {preparedStatement.close();} catch (SQLException e) {log.error(ERROR_MSG, e);throw new IllegalArgumentException(e);}}if (Objects.nonNull(connection)) {try {connection.close();} catch (SQLException e) {log.error(ERROR_MSG, e);throw new IllegalArgumentException(e);}}}

try-with-resources

在jdk1.7之后,推荐使用try() {} catch(IOException e){}的方式来处理io流,它可以自动关闭流。如下所示,是一个简单的按行读取文件内容的示例
 @Testpublic void readFileContent() {File file = new File("d://DumpStacks.log");try (BufferedReader reader = new BufferedReader(new FileReader(file))) {String line;while ((line = reader.readLine()) != null) {log.info("line : 【{}】" , line);}} catch (IOException e) {log.error("error msg : 【{}】", e);throw new RuntimeException(e);}}

抛异常情况

java.lang.RuntimeException: java.io.FileNotFoundException: d:\DumpStacks.log (系统找不到指定的文件。)

at com.geekmice.springbootselfexercise.NoDaoTest.readFileContent(NoDaoTest.java:347)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)
at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:230)
at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:58)

Caused by: java.io.FileNotFoundException: d:\DumpStacks.log (系统找不到指定的文件。)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(FileInputStream.java:195)
at java.io.FileInputStream.(FileInputStream.java:138)
at java.io.FileReader.(FileReader.java:72)
at com.geekmice.springbootselfexercise.NoDaoTest.readFileContent(NoDaoTest.java:340)
在这里插入图片描述

反编译之后可以看到自动关闭流操作

打开target,找到对应字节码文件
在这里插入图片描述

 @Testpublic void readFileContent() {File file = new File("d://DumpStascks.log");try {BufferedReader reader = new BufferedReader(new FileReader(file));Throwable var3 = null;try {String line;try {while((line = reader.readLine()) != null) {log.info("line : 【{}】", line);}} catch (Throwable var13) {var3 = var13;throw var13;}} finally {if (reader != null) {if (var3 != null) {try {reader.close();} catch (Throwable var12) {var3.addSuppressed(var12);}} else {reader.close();}}}} catch (IOException var15) {log.error("error msg : 【{}】", var15);throw new RuntimeException(var15);}}

当使用了try(){}代码块之后,代码执行完毕,就可以进行流的自动关闭,比传统的方式简洁了不少。
try()这部分,可以有多个语句,语句之间分号隔开,也可以同时包含输入流和输出流。最后执行完毕,统一关闭。

http://www.yayakq.cn/news/630042/

相关文章:

  • 中建国际建设公司网站贝斯特专业网站
  • 如何创立网站做新网站的swot分析
  • 安徽省住房和城乡建设厅网站域名特价流量网站
  • 搭建网站注册完域名应该怎么做seo短视频网页入口引流网站推荐
  • 官方网站下载地址开源多用户商城系统细节
  • 成都公司建站模板html5网站模板怎么修改
  • 如何做网站的悬浮窗口在哪里创建网站平台
  • 企业的网站如何建立的微信开发者模式在哪打开
  • 云南省城乡和住房建设厅网站yii wordpress
  • 公司制做网站专业网站营销
  • 开锁行业在58做网站有活吗深圳手机模板建站
  • 深圳建设网站哪家强phpcms v9做网站
  • 有关网站空间正确的说法是wordpress活动插件
  • 做示意图的网站域名备案接入商查询
  • phpcms做网站怎样申请网站空间
  • 造价企业怎么登陆建设部网站网站内容建设 互联互通
  • 辽宁建设科技信息网网站企业校园网站建设
  • 做一个中英文网站的价格企业推广方式推荐隐迅推
  • 东莞个人做网站北京市建筑工程设计有限责任公司
  • 嘉兴网站建设的前景多多进宝怎么推广赚钱
  • 视觉品牌网站建设大型网站建设动力无限
  • 什么什么设计英文网站网站设计制作哪家好
  • 网站开发精灵wordpress怎么发文章
  • 哈尔滨 微网站设计成都行业网站
  • 站长怎么添加网站内容泉州模板建站定制
  • 中国建设银行泗水支行的网站收到短信说备案被退回但工信部网站上正常啊
  • 泊头网站建设的有哪些查询公司水利平台网站
  • 网站建设行业的趋势网站开发案例php
  • 深圳定制网站制作咨询电话如何做图让网站的图更清晰
  • 电商网站设计系统vi毕业设计代做网站