博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java流关闭改进
阅读量:6343 次
发布时间:2019-06-22

本文共 2119 字,大约阅读时间需要 7 分钟。

  hot3.png

流关闭改进之前:

public void method() {		ByteArrayOutputStream bos = null;		ObjectOutputStream oos = null;		try {            bos = new ByteArrayOutputStream();            oos = new ObjectOutputStream(bos);			.....		} catch (IOException e) {			LogUtil.warn(e);		} finally {			if(bos!=null)			{				try{					bos.flush();					bos.close();				}catch(IOException e){				}			}			if(oos!=null)			{				try{					oos.flush();					oos.close();				}catch(IOException e){				}			}		}	}

改进之后:

public void method() {		ByteArrayOutputStream bos = null;		ObjectOutputStream oos = null;		try {            bos = new ByteArrayOutputStream();			oos = new ObjectOutputStream(bos);            ...........		} catch (IOException e) {			LogUtil.warn(e);		} finally {			StreamUtil.flushAndClose(bos, oos);		}		return null;	}

附上代码:

public class StreamUtil {	private static final Logger logger = LoggerFactory.getLogger(StreamUtil.class);	public static void close(InputStream... is) {		if (is != null && is.length > 0) {			for (InputStream inputStream : is) {				if (inputStream != null) {					try {						inputStream.close();					} catch (IOException e) {					}				}			}		}	}	public static void flushAndClose(OutputStream... os) {		if (os != null && os.length > 0) {			for (OutputStream outputStream : os) {				if (outputStream != null) {					try {						outputStream.flush();						outputStream.close();					} catch (IOException e) {					}				}			}		}	}	public static void flushAndClose(Writer... ws) {		if (ws != null && ws.length > 0) {			for (Writer writer : ws) {				if (writer != null) {					try {						writer.flush();						writer.close();					} catch (IOException e) {					}				}			}		}	}	public static void close(Reader... rs) {		if (rs != null && rs.length > 0) {			for (Reader reader : rs) {				if (reader != null) {					try {						reader.close();					} catch (IOException e) {					}				}			}		}	}	public static void close(Connection... cs) {		if (cs != null && cs.length > 0) {			for (Connection c : cs) {				if (c != null) {					try {						c.close();					} catch (SQLException e) {					}				}			}		}	}}

转载于:https://my.oschina.net/jwang/blog/760720

你可能感兴趣的文章
C++模板
查看>>
JS中判断null、undefined与NaN的方法
查看>>
win10 应用商店/相机/计算器误删后的修复方法
查看>>
洛谷P1976 鸡蛋饼
查看>>
easyui的datagrid和treegrid的使用
查看>>
策略模式
查看>>
appium+python自动化24-滑动方法封装(swipe)
查看>>
Ubuntu下常用强化学习实验环境搭建(MuJoCo, OpenAI Gym, rllab, DeepMind Lab, TORCS, PySC2)
查看>>
使用angular4和asp.net core 2 web api做个练习项目(三)
查看>>
mouseout、mouseover和mouseleave、mouseenter区别
查看>>
ajax异步的问题,(主要解决有时候前台打断点和不打断点结果不一样的问题,一般情况下是存在异步的问题)...
查看>>
iOS微信实现第三方登录的方法
查看>>
在 Linux 下搭建 Git 服务器***
查看>>
在无人值守程序(服务)中调用Microsoft Graph
查看>>
看了吗网址链接
查看>>
零元学Expression Blend 4 – Chapter 43 如何指定Childwindow PopUp位置
查看>>
WKWebView强大的新特性
查看>>
MongoDB开发学习
查看>>
Html animation by css(Sequence Js Tutorial)
查看>>
PyCharm最新2018激活码
查看>>