模块 java.base

接口 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
I/O 操作的联系。

通道表示与硬件设备、文件、网络套接字或能够执行一个或多个不同 I/O 操作(例如读取或写入)的程序组件等实体的开放连接。

通道打开或关闭。通道在创建时是打开的,一旦关闭它就保持关闭状态。通道关闭后,任何对其调用 I/O 操作的尝试都将导致抛出 ClosedChannelException 。可以通过调用其 isOpen 方法来测试通道是否打开。

通常,通道旨在保证多线程访问的安全,如扩展和实现此接口的接口和类的规范中所述。

自从:
1.4
  • 方法总结

    修饰符和类型
    方法
    描述
    void
    关闭此通道。
    boolean
    告知此通道是否打开。
  • 方法详情

    • isOpen

      boolean isOpen()
      告知此通道是否打开。
      返回:
      true 当且仅当此通道打开时
    • close

      void close() throws IOException
      关闭此通道。

      通道关闭后,任何进一步尝试对其调用 I/O 操作都会导致抛出 ClosedChannelException

      如果此通道已关闭,则调用此方法无效。

      可以随时调用此方法。但是,如果某个其他线程已经调用了它,那么另一个调用将阻塞,直到第一次调用完成,之后它将返回而没有任何效果。

      指定者:
      close 在接口 AutoCloseable
      指定者:
      close 在接口 Closeable
      抛出:
      IOException - 如果发生 I/O 错误