Java NIO Tutorial#

Java NIO#

Java NIO基本组件如下:

NIO-Components

NIO Components#

NIO Package#

NIO vs. IO#

Java IO和NIO之间的主要区别:

IO NIO
基于阻塞I/O操作 基于非阻塞I/O操作
面向流的 面向缓存的
通道不可用 通道可用于非阻塞I/O操作
选择器不可用 选择器可用于非阻塞I/O操作

通道和流之间的主要区别是:

  • 流可以用于单向数据传输

  • 通道提供双向数据传输

NIO Channels#

  • ChannelDemo

NIO Buffers#

  • BufferedReaderDemo

NIO Scatter/Gather#

  • ScatterGatherIO

NIO Data Transfer#

  • TransferDemo

NIO Selector#

  • SelectorExample

  • Client

NIO SocketChannel#

NIO ServerSocketChannel#

NIO Pipe#

  • PipeExample

NIO CharSet#

  • CharsetExample

NIO Encode/Decode#

  • CharsetExam

NIO Channels FileLock#

  • FileLockExample

  • PrintFile

References#