Module java.base

Interface 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方法来测试通道是否打开。

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

自Java版本:
1.4
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    close()
    关闭此通道。
    boolean
    isOpen()
    告知此通道是否打开。
  • Method Details

    • isOpen

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

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

      在通道关闭后,任何进一步尝试对其执行I/O操作都将导致抛出ClosedChannelException

      如果此通道已经关闭,则调用此方法不会产生任何效果。

      此方法可以随时调用。但是,如果其他线程已经调用了它,那么另一个调用将被阻塞,直到第一个调用完成,然后将返回而不产生效果。

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