Closeable释放资源

Posted xuchao0506

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Closeable释放资源相关的知识,希望对你有一定的参考价值。

自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) {
}
}
}
}

 

以上是关于Closeable释放资源的主要内容,如果未能解决你的问题,请参考以下文章

Kotlin 协程协程取消 ③ ( finally 释放协程资源 | 使用 use 函数执行 Closeable 对象释放资源操作 | 构造无法取消的协程任务 | 构造超时取消的协程任务 )

接口 Closeable

java释放资源try()用法

Java 接口Closeable

java _io_文件的拷贝图片的拷贝可变参数try...with...resource面向

JDK_API剖析之java.io包