大家先看下这个方法 try catch 后边final 还要 里边继续try catch 关闭流:public static byte[] obj2byte(Object obj) {if (obj == null) return null;byte[] ret = null;ByteArrayOutputStream baos = new ByteArrayOutputStream();ObjectOutputStream out = null;try {out = new ObjectOutputStream(baos);out.writeObject(obj);ret = baos.toByteArray();} catch (IOException e) {e.printStackTrace();} finally {try {out.close();baos.close();} catch (IOException e) {e.printStackTrace();}}

}

我们改造下: 

public static Object byte2obj(byte[] bytes) {if (bytes == null) return null;Object ret = null;ByteArrayInputStream bais = new ByteArrayInputStream(bytes);//自动关闭流 写法try (ObjectInputStream in = new ObjectInputStream(bais)) {ret = in.readObject();} catch (Exception e) {e.printStackTrace();}return ret;
}

这种事流自动关闭写法 :

具体格式就是

try (创建流对象语句,如果多个,使用';'隔开) {

    // 读写数据

catch (IOException e) {

    e.printStackTrace();

}

我们在看一个小例子: 这是salSession 不用关闭 也是自动关闭的。

try (SqlSession sqlSession = sqlSessionFactory.openSession();  // 1Cursor<RepaymentPlan> cursor = sqlSession.getMapper(RepaymentPlanMapper.class).scan(3, 10);) {cursor.forEach(o -> {System.out.println(o.getOrderNo());});
}

关于流的关闭方式自动方式写法相关推荐

  1. java基础---try后小括号(1.7后IO流的关闭方式)

    package com.io;import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOExc ...

  2. JAVA_IO流的关闭两种方式

    流的关闭 当使用完流后,显示的关闭所有打开的流仍然是一个好习惯.一个被打开的流有可能会用尽系统的资源,这取决于平台和实现.如果没有将流关闭,另一个程序试图打开另一个流时,可能会得到不需要的资源. 从J ...

  3. java IO包装流如何关闭

    问题: (1)JAVA的IO流使用了装饰模式,关闭最外面的流的时候会自动调用被包装的流的close()方吗? (2)如果按顺序关闭流,是从内层流到外层流关闭还是从外层到内存关闭? 问题(1)解释: 如 ...

  4. java io流不关闭_Java IO流关闭问题的深入研究

    前几天看了一篇文章(见参考文章),自己动手试了下,发现有些不一样结论,作博客记录下,本文主要研究两个问题: 包装流的close方法是否会自动关闭被包装的流? 关闭流方法是否有顺序? 包装流的close ...

  5. java字节流读取文件_字节流读取文件 java的几种IO流读取文件方式

    java字节流怎么读取数据 字节流读取数据例子如下: import java.io.File;import java.io.FileInputStream;import java.io.FileNot ...

  6. IO流(IO异常处理方式)

    IO流(IO异常处理方式) 参考文章: (1)IO流(IO异常处理方式) (2)https://www.cnblogs.com/yangyongqian/p/5150838.html 备忘一下.

  7. Oracle基础知识-Oracle不同的启动关闭方式

    Oracle中不同启动和关闭方式的区别 Oracle数据库提供了几种不同的数据库启动和关闭方式,本文将周详介绍这些启动和关闭方式之间的区别连同他们各自不同的功能. 一.启动和关闭Oracle数据库 对 ...

  8. 启动和退出mysql的三种方法_Oracle数据库几种启动和关闭方式

    为了方便广大考生更好的复习,帮考网综合整理提供了Oracle认证之Oracle几种启动和关闭方式,以供各位考生考试复习参考,希望对考生复习有所帮助. Oracle的几种启动和关闭方式 有以下几种启动方 ...

  9. Oracle命令(二):Oracle数据库几种启动和关闭方式

    一.Oracle数据库几种启动方式 1.startup nomount 非安装启动,这种方式下启动可执行:重建控制文件.重建数据库,读取init.ora文件,启动instance,即启动SGA和后台进 ...

最新文章

  1. linux配置永久网管,企业Linux网管配置
  2. GNSS NMEA ddmm.mmmmm格式转换
  3. 关于Jboss/Tomcat/Jetty的JNDI定义123
  4. PHP引用全局作用域中可用的全部变量是,php全局变量之学习笔记
  5. Effective Objective-C 2.0 初读小结
  6. 第二届大数据科学与工程国际会议在贵阳成功召开
  7. 10个提升MySQL性能的小技巧
  8. mysql 更改一行_mysql怎么修改数据表里一行数据?
  9. StarTeam 使用小记
  10. 深入理解【缺页中断】及FIFO、LRU、OPT这三种置换算法
  11. Binary Tree Right Side View 二叉树右视图
  12. CommandName 与 CommandArgument
  13. 华为手机老是自动截屏_华为手机竟然三种截屏方法 然后打开智能截屏开关
  14. 连接查询和子查询哪个效率高
  15. html设置form居中,HTML中的表单Form实现居中效果
  16. 制作OpenStack xpsp3镜像
  17. 有趣的微分方程传之可分离变量的微分方程
  18. 【产业互联网周报】阿里将暂停阿里云美国扩张计划;协同办公领域硝烟又起,华为推WeLink,企业微信与微信打通;申通全面迁至阿里云...
  19. trac 经验谈之(3)工作流篇
  20. 如何高效阅读英文文献,这些技巧你学会了吗?

热门文章

  1. 主菜单日历图标日期刷新
  2. dell笔记本c语言系统,戴尔Latitude 5280笔记本如何将自带win10改成win7
  3. 最出色的5个在线网站推荐,也许你要收藏一下
  4. 简述JDBC(BaseDao源码级)
  5. Selective Search——Region Proposal的源头 (目标检测)(two-stage)(深度学习)(IJCV 2013)
  6. python中布隆过滤器用法详解
  7. 安装redhat系统步骤图解_linux安装教程(红帽RedHat Linux 9)光盘启动安装过程图解
  8. 耐磨性在微型导轨中的性能分析
  9. C#静态方法和实例方法
  10. Kotlin-Android开发之开源《新闻APP》基于MVP模式+Retrofit2.0+RxJava1.0+Dagger2框架