モジュール java.base
パッケージ java.nio.channels

インタフェースChannel

すべてのスーパー・インタフェース:
AutoCloseable, Closeable
既知のすべてのサブインタフェース:
AsynchronousByteChannel, AsynchronousChannel, ByteChannel, GatheringByteChannel, InterruptibleChannel, MulticastChannel, NetworkChannel, ReadableByteChannel, ScatteringByteChannel, SeekableByteChannel, WritableByteChannel
既知のすべての実装クラス:
AbstractInterruptibleChannel, AbstractSelectableChannel, AsynchronousFileChannel, AsynchronousServerSocketChannel, AsynchronousSocketChannel, DatagramChannel, FileChannel, Pipe.SinkChannel, Pipe.SourceChannel, SctpChannel, SctpMultiChannel, SctpServerChannel, SelectableChannel, ServerSocketChannel, SocketChannel

public interface Channel extends Closeable
入出力操作に関係するチャネルです。

チャネルは、ハードウェア・デバイス、ファイル、ネットワーク・ソケットのほか、個別の入出力操作(読み込み、書き込みなど)を実行できるプログラム・コンポーネントなどのエンティティへのオープン接続を表します。

チャネルの状態はオープンまたはクローズです。 作成時はオープンですが、クローズするとクローズしたままになります。 チャネルがクローズしている状態で入力操作を行おうとすると、ClosedChannelExceptionがスローされます。 チャネルがオープンしているかどうかは、そのチャネルのisOpenメソッドの呼出しによってテストできます。

インタフェースやインタフェースを拡張および実装するクラスの仕様にあるとおり、通常チャネルはマルチスレッド・アクセスに対して安全です。

導入されたバージョン:
1.4
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    void
    現在のチャネルをクローズします。
    boolean
    現在のチャネルの状態がオープンであるかどうかを判断します。
  • メソッドの詳細

    • isOpen

      boolean isOpen()
      現在のチャネルの状態がオープンであるかどうかを判断します。
      戻り値:
      このチャネルがオープンしている場合のみtrue
    • close

      void close() throws IOException
      現在のチャネルをクローズします。

      クローズしたチャネルで入出力操作を行おうとすると、ClosedChannelExceptionがスローされます。

      チャネルがクローズしている状態でこのメソッドを呼び出しても、何の効果もありません。

      このメソッドはいつでも呼び出すことができます。 ただし、ほかの何らかのスレッドがこのメソッドをすでに呼び出している場合、別の呼出しは最初の呼出しが完了するまでブロックされ、そのあと何も効果を発揮することなく戻ります。

      定義:
      close、インタフェースAutoCloseable
      定義:
      close、インタフェースCloseable
      例外:
      IOException - 入出力エラーが発生した場合