広告

Java : ClosedChannelException - API使用例

ClosedChannelException (Java SE 24 & JDK 24) の使い方まとめです。
ほとんどのメソッドにサンプルコードがあります。
APIドキュメントのおともにどうぞ。


概要

クローズしたチャネルに対する入出力操作を行おうとしたとき、または実行しようとした入出力操作に対してそのチャネルがクローズされている場合にスローされるチェック例外です。 この例外がスローされても、チャネルが完全にクローズしていることにはなりません。 たとえば、ソケット・チャネルの書込み側が停止していても、読込み側はオープンになっている場合もあります。

クラス構成

ClosedChannelException はチェック例外です。
閉じたチャネルを操作しようとするとスローされます。

final var path = Path.of("R:", "java-work", "test.data");
System.out.println(path); // R:\java-work\test.data

try (final var channel = FileChannel.open(path,
        StandardOpenOption.CREATE, StandardOpenOption.WRITE)) {

    System.out.println(channel.isOpen()); // true

    channel.close();
    System.out.println(channel.isOpen()); // false

    try {
        final var src = ByteBuffer.wrap(new byte[]{10, 20, 30});
        var _ = channel.write(src);
    } catch (IOException e) {
        System.out.println(e);
    }

    // 結果
    // ↓
    //java.nio.channels.ClosedChannelException
}

コンストラクタ

ClosedChannelException ()

このクラスのインスタンスを構築します。

final var e = new ClosedChannelException();
System.out.println(e); // java.nio.channels.ClosedChannelException

Throwableで宣言されたメソッド

addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString

Java API 使用例 : Throwable」をご参照ください。


関連記事

ページの先頭へ