NIO中主要包含以下3大对象
- Buffer
- Channel
- Selector
NIO的核心原理如下图所示
缓冲区Buffer
常用方法
名称 | 说明 |
flip() | 切换为读模式,limit设置为position位置,position设置为0 |
get() | 读取一个字节 |
get(int index) | 读取指定索引的字节 |
get(byte[] dest) | 读取多个字节 |
rewind() | 将position设置为0,可以重复读取 |
clear() | 切换为写模式,position设置为0,limit设置为capacity |
array() | 把缓冲区转成字节数组 |
通道Channel
1.通道可读可写,而流一般是单向的(所以有InputStream, OutputStream)
2.通道可以异步读写
3.通道总是基于Buffer来读写
Channel相关的常用类</