• 介绍:

    通道(Channel):由java.nio.channels包定义的。Channel表示IO源与目标打开的连接,Channel类似于传统的流,只不过Channel本身不能直接访问数据,Channel必须和Buffer进行交互。通道用于源节点和目标节点的连接,在JAVA NIO中负责缓冲区中数据的传输。Channel本身不存储数据,因此需要配合缓冲区进行传输。

    • java.nio.channels.Channel主要的实现类

    FileChannel、SocketChannel、ServerSocketChannel、DatagramChannel

    • 如何获取通道

    Java对支持通道的类提供了getChannel()方法
    本地IO:
    FileInputStream、FileOutputStream、RandomAccessFile
    网络IO:
    Socket、ServerSocket、DatagramSocket
    这些类可以直接调用方法获取。
    JDK1.7中的NIO.2为通道提供了静态方法open(),以及Files工具类的newByteChannel()方法