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」をご参照ください。