當前位置:編程學習大全網 - 源碼下載 - Java 讀寫文件有非阻塞的 API 嗎

Java 讀寫文件有非阻塞的 API 嗎

NIO

軟件包 java.nio 的描述

定義作為數據容器的緩沖區,並提供其他 NIO 包的概述。

NIO API 的集中抽象為:

緩沖區,它們是數據容器;

字符集 及其相關解碼器 和編碼器,

它們在字節和 Unicode 字符之間進行轉換;

各種類型的通道,它們表示到能夠執行 IO

操作的

實體的連接;以及選擇器 和選擇鍵,它們與

可選擇信道 壹起定義了多路的、無阻塞的

I/O 設施。

java.nio 包定義了緩沖區類,這些類用於所有 NIO API。java.nio.charset 包中定義了字符集 API,java.nio.channels 包中定義了信道和選擇器 API。每個子包都具有自己的服務提供者接口 (SPI) 子包,SPI 子包的內容可用於擴展平臺的默認實現或構造替代實現。

緩沖區

描述

Buffer 位置,界限和容量;

清除,反轉,重繞和標記/重置

ByteBuffer Get/put,壓縮,查看;分配,包裝

MappedByteBuffer ?映射到文件的字節緩沖區

CharBuffer Get/put,壓縮;分配,包裝

DoubleBuffer '?'

FloatBuffer '?'

IntBuffer '?'

LongBuffer '?'

ShortBuffer '?'

ByteOrder 字節順序的類型安全的枚舉

緩沖區 是壹個固定數據量的指定基本類型的數據容器。除內容之外,緩沖區還具有位置 和界限,其中位置是要讀寫的下壹個元素的索引,界限是第壹個應該讀寫的元素的索引。基本 Buffer 類定義了這些屬性以及清除、反轉 和重繞 方法,用以標記 當前位置,以及將當前位置重置 為前壹個標記處。

每個非布爾基本類型都有壹個緩沖區類。每個類定義了壹系列用於將數據移出或移入緩沖區的 get 和 put 方法,用於壓縮、復制 和切片 緩沖區的方法,以及用於分配 新緩沖區和將現有數組包裝 到緩沖區中的靜態方法。

因為字節緩沖區可以用作 I/O 操作的源緩沖區和目標緩沖區,所以可以對它們加以區分。它們還支持其他緩沖區類所沒有的幾個特性:

可以將字節緩沖區分配為壹個直接 緩沖區,在這種情況下,Java

虛擬機將最大限度地直接在緩沖區上執行本機 I/O 操作。

可以通過 mapping 將文件區域直接包裝到內存中來創建字節緩沖區,在這種情況下,可以使用 MappedByteBuffer 類中定義的幾個其他文件相關的操作。

字節緩沖區提供了對其內容的訪問(其內容作為任何非布爾基本類型的異類或同類二進制數據序列),訪問要麽是以 big-endian 字節順序進行,要麽是以

little-endian 字節順序進行。

除非另有說明,否則向此包的任何類或接口中的構造方法或方法傳遞 null 變量,都會拋出 NullPointerException。 ?

  • 上一篇:通達信上升通道陰線買入公式
  • 下一篇:貸款的真實利率公式貸款的真實利率
  • copyright 2024編程學習大全網