1 Java NIO 简介
Java NIO(New IO)是从Java1.4版本开始引入的一个新的IO API,可以替代标准的Java IO API。NIO与原来的IO有同样的作用和目的,但是使用的方式完全不同,NIO支持面向缓冲区的、基于通道的IO操作。NIO将以更加高效的方式进行文件的读写操作。
2 Java NIO 和 IO 的主要区别
- 传统的流都是单向流:输入和输出需要建立两个流,输入流和输出流
- NIO基于缓冲区,缓冲区是双向的,可以从文件(磁盘或网络)读取数据传入程序中,也可以通过程序将数据写入文件(磁盘或网络),此时将传统的输入输出流转换成通道
IO | NIO |
---|---|
面向流(Stream Oriented) | 面向缓冲区(Buffer Oriented) |
阻塞IO(Blocking IO) | 非阻塞IO(Non Blocking IO) |
(无) | 选择器(Selectors) |