0

我想知道 Apache 库方法 IOUtils.close 非常适合 FileChannel。我看到它需要 Closeable 作为参数,并且 FileChannel 确实在层次结构中实现了它。但是我们能不能面对任何问题。任何经验都可以分享。

4

1 回答 1

0

我认为如果我们按照 IOUtils.closeQuietly API 的建议使用它就可以了,即双重关闭

    FileChannel ch = null;
    try {
        ch = new FileInputStream("foo.txt").getChannel();
        // process
        ch.close();
    } catch (Exception e) {
        // error handling
    } finally {
        IOUtils.closeQuietly(ch);
    }

但是如果 Java 7 可用,则使用资源尝试是一种更清洁的方法。

于 2013-02-15T06:10:55.553 回答