モジュール java.base

パッケージjava.nio


パッケージjava.nio
データのコンテナであるバッファについて定義し、その他のNIOパッケージの概要情報を提供します。

NIO APIは、主に次の抽象化要素から構成されます。

  • Buffer」。データのコンテナ。

  • Charset」と、それに対応する「デコーダ」および「エンコーダ
    (byteとUnicode文字との間の変換を行う)。

  • さまざまな種類の「Channel」(入出力操作を実行できる
    エンティティへの接続を表す)。

  • セレクタ選択キー
    (選択可能チャネルとともに多重化された非ブロック
    入出力
    機能を定義する)。

  • Pathは、ファイルクラスとともにファイルへのアクセスを提供します。

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バッファです。
    読取り専用バッファでputcompactなどのcontent-mutationメソッドが呼び出されたときにスローされる未チェックの例外。
    shortバッファです。