Module jdk.net
Package jdk.nio

Class Channels

java.lang.Object
jdk.nio.Channels

public final class Channels extends Object
定义了创建通道的静态方法。

除非另有说明,否则将null参数传递给此处定义的任何方法将导致抛出NullPointerException

自:
11
  • Method Details

    • readWriteSelectableChannel

      public static SelectableChannel readWriteSelectableChannel(FileDescriptor fd, Channels.SelectableChannelCloser closer)
      创建到支持操作集OP_READOP_WRITE的文件描述符的可选择通道。可选择通道将由默认的SelectorProvider创建。

      给定的文件描述符是可以通过Selector进行读取和写入准备的套接字或资源。需要非常小心地协调直接使用文件描述符与使用可选择通道。特别是,在没有仔细协调的情况下更改阻塞模式或关闭文件描述符将导致未指定且不安全的副作用。当通道向Selector注册时,将调用给定的SelectableChannelCloser来关闭文件描述符并协调关闭。

      如果设置了安全管理器,则将调用其checkReadcheckWrite方法来检查调用者是否具有从文件描述符读取和写入的权限。

      实现注意:
      如果默认的SelectorProvider不是JDK内置实现,则此方法会抛出UnsupportedOperationException
      参数:
      fd - 文件描述符
      closer - 用于关闭通道的对象
      返回:
      可选择通道
      抛出:
      IllegalArgumentException - 如果文件描述符不是有效
      SecurityException - 如果安全管理器拒绝