繁体   English   中英

实现一个可关闭的套接字/服务器套接字

[英]Implementing a Closeable Socket/Serversocket

为了最大程度地减少样板代码,我想有一个Socket和ServerSocket类,它们都实现Closeable接口。

我已经看到在Java 7中,Socket和ServerSocket可能实现Closeable,所以我不能做类似的事情:

public class ClosableSocket extends Socket implements Closeable {}

并实现所需的构造函数? 还是有更好的解决方案? 我要与Apache Commons IO IOUtil.closeQuietly(Closeable closeable)结合使用。

我会有类似的东西

public static void closeQuietly(Object object) {
    try {
        if (object instanceof Closeable)
            ((Closeable)object).close();
        else if (object instanceof Socket)
            ((Socket)object).close();
        else if (object instanceof ServerSocket)
            ((ServerSocket)object).close();
        else 
            // use reflections to call close() if you must.

    } catch (IOException ignored) {
        // ignored
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM