0

ApacheライブラリメソッドIOUtils.closeQuitelyがFileChannelでうまく機能することを知りたかったのです。引数としてCloseableが必要であり、FileChannelは階層で実装しているようです。しかし、将来的に問題に直面することはできますか。どんな経験でも共有してください。

4

1 に答える 1

0

IOUtils.closeQuietly API が示唆するように、つまり double-close を使用すれば問題ないと思います。

    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 に答える