java关闭流方法,Java关闭流方法总结
Java 所有流都得在用完后关闭,避免造成资源浪费及攻击。
最老的try - catch - finally 很不优雅
private void trt_catch_finally(){
String filepath = "a.xml";
BufferedReader bf = null;
try {
bf = new BufferedReader(new FileReader(filepath);
String str;
// 按行读取字符串
while ((str = bf.readLine()) != null)
System.out.println(str);
} catch (Exception e) {
}
finally {
if(null != bf){
try {
bf.close();
} catch (IOException e) {
}
}
}
}
后来有段时间接触了org.apache.commons.io.IOUtils,会简洁一点点。点进源码看是他帮我们封装好了
private void IOUtils(){
String filepath = "a.xml";
BufferedReader bf = null;
try {
bf = new BufferedReader(new FileReader(filepath);
String str;
// 按行读取字符串
while ((str = bf.readLine()) != null)
System.out.println(str);
} catch (Exception e) {
}
finally {
IOUtils.closeQuietly(bf);
}
}
现在JDK7后,有了最新的try-with-resource,可以直接省略了关流,由JVM去处理
private void try_with_resource(){
String filepath = "a.xml";
try (BufferedReader bf = new BufferedReader(new FileReader(filepath))) {
String str;
// 按行读取字符串
while ((str = bf.readLine()) != null)
System.out.println(str);
} catch (Exception e) {
}
}
java关闭流方法,Java关闭流方法总结相关推荐
- java preparedstatement 关闭_java - 如果基础连接已关闭,为什么isClosed()方法对PreparedStatements不返回true? - 堆栈内存溢出...
就像标题所说的那样,我想知道为什么准备好的语句.isClosed()方法在关闭基础流(使用JDBC)后将返回false. public void someTest() throws SQLExcept ...
- java 输入流关闭顺序_Java IO流中先关闭输出流还是先关闭输入流?为什么?
java中需要手动释放的资源bai常见的有以下两个: 流相du关资zhi源 流相关资源一般遵循: 1)先开后关dao,先开的输入流,再开的输出流,通过读取输入流写入输出流中,那么应该先关输出流,再关输 ...
- java 流已被关闭_mybatis oracle java.sql.SQLException: 流已被关闭问题
/** * 按照页码取值(从current_page页开始,每页page_size条) * @param key * @param params * @param current_page * @pa ...
- java(九)-方法引用, Stream流,File类 , 递归 ,字节流
day09[方法引用.Lambda表达式.Stream流] 今日目标 线程状态 等待与唤醒 Lambda表达式 Stream流 教学目标 能够说出线程6个状态的名称 能够理解等待唤醒案例 能够掌握La ...
- java SE(十一)——File、方法递归、IO流
File.方法递归.IO流 File(定位.操作文件) 前言 File类概述 File类的常用API 判断文件类型.获取文件信息 创建文件.删除文件功能 遍历文件夹 方法递归 递归的形式和特点 递归的 ...
- java中logger关闭log_Log4J如何关闭Logger对象的IO流资源
之前,在做一个项目时,客户要求在接口中对各个交易每天在monitor.trans.service三个目录下生成日志文件,monitor按日期生成文件碎片,trans每天按照日期生成一个目录,在该目录下 ...
- java 流式FlowLayout布局换行方法
java 流式FlowLayout布局换行方法 怎么简单怎么来 方法一 add(new JLabel(" ")); //添加空白标签来实现换行 空白标签的空格数量由你来决定 方法二 ...
- [重学Java基础][Java IO流][Exter.2]IO流中几种不同的读写方法的区别
[重学Java基础][Java IO流][Exter.2]IO流中几种不同的读写方法的区别 Read 读入方法 read(): 一般是这种形式 public int read() 1.从流数据中读取的 ...
- Java的Stream流编程的排序sorted方法里参数o1,o2分别代表什么?
先说结论:在sorted方法中,o1是最后面的元素,o2是倒数第二个元素,以此类推,流是处理元素是从后面开始取值. package com.br.itwzhangzx02.learn;import o ...
- java弹窗 触发事件_关于ElementUI中MessageBox弹框的取消键盘触发事件(enter,esc)关闭弹窗(执行事件)的解决方法...
好久没见了 在项目中遇到一个小小的需求,总结了一下! 详细我就不介绍了,相信大家用过的话,很了解.详见文档-----------> http://element-cn.eleme.io/#/zh ...
最新文章
- Learning by doing 系列文章(之一)如何在 Python 中使用 epoll ?
- AliOS Things KV组件的写平衡特性
- android lottie字体json,lottie-android
- Extjs time
- 判断给定森林中有多少棵树特别版
- nltkdata路径设置linux,NLTK data路径设置
- 计算机有什么著名基金经理排名,百万年薪的基金经理,都是什么专业出身?!...
- 瑞晟蓝牙来电语音软件下载_拥有无数功能的工具箱软件
- POJ3628:Bookshelf 2【01背包】
- 挑战《IT我最大》Windows 7由你秀 活动的丑恶行径
- Linux内核开发_内核模块
- 一例Ext4文件系统fsck后损坏的修复过程
- 凯撒密码(移位密码)
- h5页面分享一(附源码)
- (附源码)node.js游云旅游网站 毕业设计 231547
- 微信安卓6.5.3以上版本网页上传不了图片的解决方案
- 系统工程--011详细设计 伪码 程序流程图 PAD图 N-S图 判断表和判断树
- 微信小程序input禁止输入特殊表情符号与空格
- 使用dig/nslookup命令查看dns解析详情
- 在Word中隐藏文字
热门文章
- 【数学建模】基于matlab模拟十字路口车辆通行【含Matlab源码 1106期】
- 【优化求解】基于matlab蚁群算法的函数优化分析【含Matlab源码 219期】
- python 姿势估计_Python中的实时头姿势估计
- 数据库连接html文件路径,Python+Flash+MySQL+HTML链接数据库查询,pythonflaskmysqlhtml,连库...
- 微型计算机主要特点,微型计算机数字控制的主要特点.ppt
- python 矩阵点乘_Python之Numpy库基础——矩阵运算
- python计算机视觉库_荐 python计算机视觉入门
- mac中 安装mysql无法启动_Mac 下安装MySQL(dmg方式),无法启动
- python工厂方法_Python设计模式:工厂方法模式初探
- mysql event查询_Mysql中Event的一些测试