パッケージjava.nio
NIO APIは、主に次の抽象化要素から構成されます。
「Buffer」。データのコンテナ。
「Charset」と、それに対応する「デコーダ」および「エンコーダ」
(byteとUnicode文字との間の変換を行う)。さまざまな種類の「Channel」(入出力操作を実行できる
エンティティへの接続を表す)。セレクタと選択キー
(選択可能チャネルとともに多重化された非ブロック
入出力機能を定義する)。
java.nio
パッケージは、NIO API全体で使用されるバッファ・クラスを定義します。 charset APIは、java.nio.charset
パッケージ、java.nio.channels
パッケージのチャネルおよびセレクタAPI、およびjava.nio.file
パッケージのファイルおよびパスAPIで定義されます。 これらの各サブパッケージには独自のサービス・プロバイダ・インタフェースの(SPI)サブパッケージがあり、その内容を使用して、プラットフォームのデフォルト実装を拡張したり、代替実装を構築できます。
バッファ | 説明 |
---|---|
Buffer |
位置、リミット、容量クリア、フリップ、リワインド、マーク/リセット |
ByteBuffer |
get/put、圧縮、ビュー、割り当て、ラップ |
MappedByteBuffer |
ファイルにマップされるbyteバッファ |
CharBuffer |
get/put、圧縮、割り当て、ラップ |
DoubleBuffer |
get/put、圧縮、割り当て、ラップ |
FloatBuffer |
get/put、圧縮、割り当て、ラップ |
IntBuffer |
get/put、圧縮、割り当て、ラップ |
LongBuffer |
get/put、圧縮、割り当て、ラップ |
ShortBuffer |
get/put、圧縮、割り当て、ラップ |
ByteOrder |
byte順序の型保証された列挙 |
「バッファ」は、特定のプリミティブ型のデータを一定の容量だけ格納するコンテナです。 バッファには、こうしたデータとともに、「位置」(次に読み込みまたは書込みを行う要素のインデックス)と「リミット」(読み込みまたは書込みを行ってはならない最初の要素のインデックス)が格納されます。 基底クラスBuffer
クラスは、これらのプロパティに加えて、クリア、フリップ、およびリワインドのメソッド、現在の位置をマークするメソッド、前のマーク位置に戻るメソッドも定義します。
非ブール型のプリミティブ型を対象とするバッファ・クラスもあります。 各クラスは、バッファでのデータの入出力を行うgetおよびputメソッド、バッファの圧縮、複製、およびスライス用のメソッド、新しいバッファを割り当てる staticメソッド、既存の配列をバッファにラップするstaticメソッドからなるファミリを定義します。
byteバッファには、入出力操作のソースやターゲットとして使用できるという特徴があります。 これらは、その他のバッファ・クラスにはない機能をいくつかサポートしています。
byteバッファは、「ダイレクト」バッファとして割り当てることができます。Java仮想マシンは、ダイレクトbyteバッファに対してできるだけネイティブの入出力操作を行います。
byteバッファは、ファイルの1つの領域をメモリーに直接
マップ
することで作成できます。この場合、MappedByteBuffer
クラスで定義されているいくつかのファイル関連操作を追加で実行できます。バイト・バッファは、ビッグ・エンディアンまたはリトル・エンディアンの「バイト・オーダー」のいずれかの非ブール型プリミティブ型の「バイナリ・データ」の異種または同種のシーケンスとしてコンテンツへのアクセスを提供します。
特に明記されていないかぎり、このパッケージ内の任意のクラスまたはインタフェースでコンストラクタまたはメソッドにnull
引数を渡すと、NullPointerException
がスローされます。
- 導入されたバージョン:
- 1.4
-
クラス説明特定のプリミティブ型データのコンテナです。相対put操作がターゲット・バッファのリミットに達したときにスローされる非チェック例外です。相対get操作がソース・バッファのリミットに達したときにスローされる非チェック例外です。byteバッファです。byte順序の型保証された列挙です。charバッファです。doubleバッファです。floatバッファです。intバッファです。マークが定義されていない状態でバッファをリセットしようとしたときにスローされる、非チェック例外です。longバッファです。ファイルのメモリー・マップ領域を内容とするダイレクトbyteバッファです。読取り専用バッファで
put
やcompact
などのcontent-mutationメソッドが呼び出されたときにスローされる未チェックの例外。shortバッファです。