多重流嵌套(比如BufferedWrite)时各个流的关闭问题。
来源:互联网 发布:淘宝上如何搜发票 编辑:程序博客网 时间:2024/06/05 04:07
以前使用多重流的嵌套时,总是习惯性的从里到外,依次关闭每一个流。
今天才知道,时多此一举,只需要关闭最外层的口=流就行了。
比如:
FileWriter fileWritter1 = new FileWriter(outfile1);
BufferedWriter bw1 = new BufferedWriter(fileWritter1);
关闭时只需要关闭fileWritter就可以了:
fileWritter1.close();
原因在BufferedWriter 的源代码中,这是BufferedWriter 的close()方法源码:
然而这个out对象是一个Writer:
这个Writer正是BufferedWriter 构造参数中传入的Writer,即本例中的FileWriter 。所以关闭BufferedWriter 时,
其实什么都没有做,仅仅是简单的调用了FileWriter 的close()方法。而且BufferedWriter 的close()方法也是一个
synchronized方法。也会引起多线程情况下的效率问题。所以多层流嵌套时,只需要关闭最外层的流即可。
0 0
- 多重流嵌套(比如BufferedWrite)时各个流的关闭问题。
- 关于BufferedWrite的close问题
- Java中嵌套的IO流关闭的问题
- viewPager+Fragment的多重嵌套问题
- BufferedWrite中的newLine()换行出现的问题及解决办法
- jinja2多重继承时的block嵌套
- 容器的多重嵌套
- BufferedWrite和BufferedRead的用法。
- IO流的关闭问题
- 多重边框 不用嵌套的多重边框写法
- 【JAVA基础小问题】如何跳出当前的多重嵌套循环?
- 遍历多重嵌套控件里面的控件
- JavaScript中引号的多重嵌套
- 如何跳出当前的多重嵌套循环
- JavaScript中引号的多重嵌套
- 193,编写多重嵌套的数据模型
- map和struct的多重嵌套
- SQL SERVER 游标多重嵌套的例子
- 【资源】selenium的download列表中找不到IEDriverServer的解决办法
- Android使用UncaughtExceptionHandler捕获全局异常
- v$archived_log status为X
- Hbase schema&table 设计实践
- 利用GoAhead构建嵌入式web应用(转帖)
- 多重流嵌套(比如BufferedWrite)时各个流的关闭问题。
- 【OpenCV入门指南】第四篇 图像的二值化
- Android的Root原理
- 关于ORACLE 11g数据库不能导出空表问题解决
- 如何将公司logo或其他图片信息导入capture原理图标题栏
- Spring MVC 中的基于注解的 Controller
- AJAX 跨域请求 – JSONP的使用,PHP实例详解
- Android Bluetooth蓝牙开发\蓝牙协议\蓝牙通信
- 搭建Oracle 到Oracle 的Golden Gate 单向复制测试环境