关流工具类
在工作中我们难免会和各种各样的流打交道,使用后要对这些流进行关闭,以免读取的文件被持续占用.我曾经就接手过一过离职同事的代码,线上的程序跑两天就会卡死,然后报错linux系统文件最高只能打开1024个,问题找了两天,终于发现他是自己写的流读取配置文件,要命的是最后没有关流......
要是你们的程序也报文件数打开到达上限,建议你们也看一下是不是有同样的问题.
好了上手代码!
通过看源码能发现java中可关闭的流都会实现Closeable接口
那就好办多了
/**
* 关流
* @param t 要关闭的流
*/
public static <T extends Closeable> void closeStream(T t) {
if (null != t) {
try {
t.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
不用在代码中一直重复
if(null != out) {
out.close();
}