ava NIO(New IO)是從java 1.4版本開始引入的一個新的IO API,可以替代標準的java IO API。
NIO支持面向緩衝區的、基於通道的IO操作。NIO將以更加高效的方式進行文件的讀寫操作。
Sun官方標榜的特性如下:
為所有的原始類型提供(Buffer)緩存支持
字符集編碼解碼方案
Channel:一個新的原始I/O抽象
支持鎖和內存映射文件的文件訪問接口
提供多路(non-blocking)非阻塞式的高伸縮性網絡I/O
NIO的創建目的是為了讓Java程式設計師可以實現高速I/O而無需編寫自定義的本機代碼。NIO將最耗時的I/O操作(即填充和提取緩衝區)轉移回作業系統,因而可以極大地提高速度。
Java NIO和IO的主要區別
通道和緩衝區
Java NIO系統的核心在於:通道(Channel)和緩衝區(Buffer)。 通道表示打開IO設備(比如文件、套接字等)的連接。若需要使用NIO系統,需要獲取用於連接IO設備的通道以及用於容納數據的緩衝區。然後操作緩衝區對數據進行處理。
簡而言之。Channel負責傳輸,Buffer負責存儲。