自jdk 1.5之后就提供了一个Closeable接口,可以方便的帮助我们关闭需要处理的资源,比如说各种 流 数据库连接 socket连接~~~~~之类的
源码:
/**
* A {@code Closeable} is a source or destination of data that can be closed.
* The close method is invoked to release resources that the object is
* holding (such as open files).
*
* @since 1.5
*/
public interface Closeable extends AutoCloseable {
/**
* Closes this stream and releases any system resources associated
* with it. If the stream is already closed then invoking this
* method has no effect.
*
* <p> As noted in {@link AutoCloseable#close()}, cases where the
* close may fail require careful attention. It is strongly advised
* to relinquish the underlying resources and to internally
* <em>mark</em> the {@code Closeable} as closed, prior to throwing
* the {@code IOException}.
*
* @throws IOException if an I/O error occurs
*/
public void close() throws IOException;
}
使用:传入相应的 实例 即可
//代码
close(br, in, reader, out, socket);
private static void close(Closeable... closeables){
if (closeables != null){
for (Closeable closeable: closeables){
try {
closeable.close();
} catch (IOException e) {
}
}
}
}