我聽說了另一個名為 NIO 的 I/O 套件。能告訴我一下嗎?
NIO 套件最初稱為 New I/O,由 JDK 1.4 加入 Java 中。它支援基於通道的 I/O 操作方法。 NIO 類別位於 java.nio 套件及其下屬套件中,例如 java.nio.channels 和 java.nio.charset。
NIO 基於兩個基本項:緩衝區和通道。緩衝區儲存數據,通道表示與 I/O 裝置(例如檔案或套接字)的開啟連接。一般來說,要使用新的I/O系統,我們必須取得一個具有I/O裝置的通道和一個用於儲存資料的緩衝區。然後我們對緩衝區進行操作,在必要時插入或顯示資料。
NIO 使用的另外兩個實體是字元集和
選擇器。字符集定義了位元組映射到字元的方式。我們可以使用編碼器以位元組的形式對字元序列進行編碼。我們可以使用解碼器將位元組序列解碼為字元形式。選擇器支援基於鍵、非阻塞和多路復用的 I/O。換句話說,選擇器允許我們跨多個通道執行 I/O。它們最適用於基於套接字的通道。
從 JDK 7 開始,NIO 經歷了深刻的改進,因此術語 NIO.經常使用2。改進包括三個新套件(java.nio.file、java.nio.file.attribute 和java.nio.file.spi);幾個新的類別、介面和方法;以及對基於流的I/O 的直接支持。這些新增內容擴展了 NIO 的使用方式,尤其是檔案。
重要的是要理解 NIO 不會取代 java.io 中的 I/O 類,本章將討論這些類別。相反,NIO 類旨在補充標準 I/O 系統,提供一種替代方法,在某些情況下可能是有益的。
以上是詢問專家 - I/O的詳細內容。更多資訊請關注PHP中文網其他相關文章!