|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||||
java.lang.Object
|
+--java.nio.Buffer
|
+--java.nio.ByteBuffer
byte バッファです。
このクラスは、byte バッファに対する操作を次の 6 つのカテゴリに分類します。
連続したバイトシーケンスをこのバッファから配列へと転送する相対メソッド「一括 get」
連続したバイトシーケンスを byte 配列やその他の byte バッファからこのバッファへと転送する相対メソッド「一括 put」
プリミティブ型の値の読み込みと書き込みを行い、これらの値とバイトシーケンスを特定のバイト順序で相互変換する絶対および相対/「get」メソッド「put」
プリミティブ型の値を格納するバッファとして byte バッファを表示できる、「ビューバッファ」の作成メソッド
byte バッファは、バッファの内容に容量を割り当てる方法 ( byte バッファには、「ダイレクト」バッファと「非ダイレクト」バッファがあります。ダイレクト byte バッファの場合、Java 仮想マシンは、ネイティブの入出力操作を直接実行しようとします。これは、基本となるオペレーティングシステム固有の入出力操作を呼び出す際、中間バッファを介さないということです。
ダイレクト byte バッファは、このクラスのファクトリメソッド ダイレクト byte バッファは、ファイルの一領域をダイレクトメモリにマップする方法 ( ダイレクト byte バッファであるかどうかは、 このクラスは、その他のすべてのプリミティブ型 (boolean を除く) の値の読み込みと書き込みを行うメソッドを定義します。プリミティブ値は、バッファの現在のバイト順序に従って、バイトシーケンスと相互変換されます。バッファ順序の取得および変更には、 異種バイナリデータ、すなわち型の異なる値のシーケンスにアクセスできるようにするため、このクラスは、型ごとに絶対および相対 get / put メソッドのファミリを定義します。たとえば、32 ビットの浮動小数点数 (float 値) の場合、次のメソッドが定義されます。
char、short、int、long、double の各型にも、同様のメソッドが定義されます。絶対 get / put メソッドのインデックスパラメータは、読み込みまたは書き込みの対象となる型ではなく、バイトです。
同種のバイナリデータ、すなわち同じ型の値のシーケンスにアクセスできるようにするため、このクラスは、指定された byte バッファの「ビュー」を作成するメソッドを定義します。「ビューバッファ」の内容は、byte バッファを利用しています。byte バッファの内容に変更を加えると、ビューバッファにその内容が表示されます。反対に、ビューバッファの内容に変更を加えると、byte バッファにその内容が表示されます。この 2 つのバッファの位置、リミット、マークの値は、それぞれ独立しています。たとえば、 ビューバッファには、前述した型固有の「get」や「get」メソッドのファミリに勝る重要な利点が 3 つあります。
ビューバッファには、バイトではなく、その値の型固有のサイズによってインデックスが付けられる ビューバッファは、バッファと配列または同じ型のその他のバッファ間で連続した値のシーケンスをやりとりできる、相対一括「get」および「put」メソッドを提供する ビューバッファは、補助 byte バッファがダイレクトバッファである場合にかぎりダイレクトバッファになるという点で、潜在的に効率がよい ビューの生成時、ビューバッファのバイト順序は byte バッファのバイト順序と同じになります。 このクラスのメソッドのうち戻り値を返さないものは、自身を呼び出したバッファの情報を返します。これを応用して、メソッド呼び出しを連鎖させることができます。
たとえば、次のような連続した文があるとしましょう。
新しいバッファの位置は 0、リミットは容量と同じ値になります。マークは定義されません。
新しいバッファの位置は 0、リミットは容量と同じ値になります。マークは定義されません。このバッファは
新しいバッファは指定された byte 配列によって指示されます。バッファに変更を加えると byte 配列が変更され、byte 配列に変更を加えるとバッファが変更されます。新しいバッファの容量は array.length、位置は offset、リミットは offset + length になります。マークは定義されません。指定された配列が
新しいバッファは指定された byte 配列によって指示されます。バッファに変更を加えると byte 配列が変更され、byte 配列に変更を加えるとバッファが変更されます。新しいバッファの容量とリミットは array.length、位置は 0 になります。マークは定義されません。指定された配列が
新しいバッファの内容は、このバッファの現在位置から始まります。このバッファの内容に変更を加えると、その内容が新しいバッファに反映されます。逆の場合も同じです。2 つのバッファの位置、リミット、マークの値はそれぞれ異なります。
新しいバッファの位置は 0、容量とリミットはこのバッファ内に残っているバイト数になります。マークは定義されません。新しいバッファは、このバッファがダイレクトバッファである場合にかぎりダイレクトバッファになります。また、このバッファが読み込み専用バッファである場合にかぎり読み込み専用バッファになります。
新しいバッファの内容は、このバッファの内容と同じになります。このバッファの内容に変更を加えると、その内容が新しいバッファに反映されます。逆の場合も同じです。2 つのバッファの位置、リミット、マークの値はそれぞれ異なります。
新しいバッファの容量、リミット、位置、マークの値は、このバッファの対応する値と同じになります。新しいバッファは、このバッファがダイレクトバッファである場合にかぎりダイレクトバッファになります。また、このバッファが読み込み専用バッファである場合にかぎり読み込み専用バッファになります。
新しいバッファの内容は、このバッファの内容と同じになります。このバッファの内容に変更を加えると、その内容が新しいバッファに反映されます。しかし、新しいバッファ自体は読み込み専用であり、その共有の内容を変更することはできません。2 つのバッファの位置、リミット、マークの値はそれぞれ異なります。
新しいバッファの容量、リミット、位置、マークの値は、このバッファの対応する値と同じになります。
このバッファが読み込み専用の場合、このメソッドの動作は
このバッファの現在位置に指定されたバイトを書き込み、その位置の値を増加します。
) か、既存の byte 配列をバッファにラップする方法 (容量の割り当て) で作成できます。
ラップダイレクトバッファと非ダイレクトバッファ
allocateDirect を呼び出すと作成されます。通常は、こちらのバッファのほうが、非ダイレクトバッファよりも割り当ておよび解放コストがやや高くなります。ダイレクトバッファの内容が標準のガベージコレクトされたヒープの外部にあるなら、アプリケーションのメモリフットプリントに対する影響はわずかです。このことから、ダイレクトバッファには、基本となるシステム固有の入出力操作に従属する、寿命が長く容量の大きいバッファを指定することをお勧めします。一般に、ダイレクトバッファの割り当ては、プログラムの性能を十分に改善できる見込みがある場合にのみ行うべきです。
) でも作成できます。Java プラットフォームの実装は、JNI を介してネイティブコードからダイレクト byte バッファを生成する機能をサポートしています。こうしたバッファのインスタンスがメモリ内のアクセスできない領域を参照している場合、その領域にアクセスしようとしても、アクセス時かそのあとで未指定の例外がスローされるだけで、バッファの内容は変更されません。
マッピングisDirect メソッドを呼び出すことで判断できます。このメソッドを使用すれば、性能が重視されるコード内で明示的にバッファ管理を行うことができます。
バイナリデータへのアクセス
order メソッドを使用します。特定のバイト順序は、ByteOrder クラスのインスタンスで表されます。byte バッファの初期順序は常に BIG_ENDIAN です。
float
getFloat()
float getFloat(int index)
void putFloat(float f)
void putFloat(int index, float f)asFloatBuffer メソッドは、このメソッドの呼び出し元 byte バッファを利用する FloatBuffer クラスのインスタンスを生成します。char、short、int、long、double の各型にも、同様のビュー作成メソッドが定義されています。
呼び出しの連鎖
これらは、次の一文で置き換えられます。
bb.putInt(0xCAFEBABE);
bb.putShort(3);
bb.putShort(45);
bb.putInt(0xCAFEBABE).putShort(3).putShort(45);
メソッドの概要
static ByteBufferallocate(int capacity)
新しい byte バッファを割り当てます。
static ByteBufferallocateDirect(int capacity)
新しいダイレクト byte バッファを割り当てます。
byte[]array()
このバッファを補助する byte 配列を返します (任意操作)。
intarrayOffset()
このバッファの補助配列の最初の要素のオフセットを返します (任意操作)。
abstract CharBufferasCharBuffer()
char バッファとしてこの byte バッファのビューを作成します。
abstract DoubleBufferasDoubleBuffer()
double バッファとしてこの byte バッファのビューを作成します。
abstract FloatBufferasFloatBuffer()
float バッファとしてこの byte バッファのビューを作成します。
abstract IntBufferasIntBuffer()
int バッファとしてこの byte バッファのビューを作成します。
abstract LongBufferasLongBuffer()
long バッファとしてこの byte バッファのビューを作成します。
abstract ByteBufferasReadOnlyBuffer()
このバッファの内容を共有する新しい読み込み専用 byte バッファを作成します。
abstract ShortBufferasShortBuffer()
short バッファとしてこの byte バッファのビューを作成します。
abstract ByteBuffercompact()
このバッファを圧縮します (任意操作)。
intcompareTo(Object ob)
このバッファを別のオブジェクトと比較します。
abstract ByteBufferduplicate()
このバッファの内容を共有する新しい byte バッファを作成します。
booleanequals(Object ob)
このバッファが別のオブジェクトと等価であるかどうかを判断します。
abstract byteget()
相対「get」メソッドです。
ByteBufferget(byte[] dst)
相対「一括 get」メソッドです。
ByteBufferget(byte[] dst,
int offset,
int length)
相対「一括 get」メソッドです。
abstract byteget(int index)
絶対「get」メソッドです。
abstract chargetChar()
char 値を読み取る相対「get」メソッドです。
abstract chargetChar(int index)
char 値を読み取る絶対「get」メソッドです。
abstract doublegetDouble()
double 値を読み取る相対「get」メソッドです。
abstract doublegetDouble(int index)
double 値を読み取る絶対「get」メソッドです。
abstract floatgetFloat()
float 値を読み取る相対「get」メソッドです。
abstract floatgetFloat(int index)
float 値を読み取る絶対「get」メソッドです。
abstract intgetInt()
int 値を読み取る相対「get」メソッドです。
abstract intgetInt(int index)
int 値を読み取る絶対「get」メソッドです。
abstract longgetLong()
long 値を読み取る相対「get」メソッドです。
abstract longgetLong(int index)
long 値を読み取る絶対「get」メソッドです。
abstract shortgetShort()
short 値を読み取る相対「get」メソッドです。
abstract shortgetShort(int index)
short 値を読み取る絶対「get」メソッドです。
booleanhasArray()
このバッファがアクセス可能な byte 配列を利用するかどうかを判断します。
inthashCode()
このバッファの現在のハッシュコードを返します。
abstract booleanisDirect()
このバッファがダイレクトバッファであるかどうかを判断します。
ByteOrderorder()
このバッファのバイト順序を取得します。
ByteBufferorder(ByteOrder bo)
このバッファのバイト順序を変更します。
abstract ByteBufferput(byte b)
相対「put」メソッドです (任意操作)。
ByteBufferput(byte[] src)
相対一括「put」メソッドです (任意操作)。
ByteBufferput(byte[] src,
int offset,
int length)
相対「一括 put」メソッドです (任意操作)。
ByteBufferput(ByteBuffer src)
相対「一括 put」メソッドです (任意操作)。
abstract ByteBufferput(int index,
byte b)
絶対「put」メソッドです (任意操作)。
abstract ByteBufferputChar(char value)
char 値を書き込む相対「put」メソッドです (任意操作)。
abstract ByteBufferputChar(int index,
char value)
char 値を書き込む絶対「put」メソッドです (任意操作)。
abstract ByteBufferputDouble(double value)
double 値を書き込む相対「put」メソッドです (任意操作)。
abstract ByteBufferputDouble(int index,
double value)
double 値を書き込む絶対「put」メソッドです (任意操作)。
abstract ByteBufferputFloat(float value)
float 値を書き込む相対「put」メソッドです (任意操作)。
abstract ByteBufferputFloat(int index,
float value)
float 値を書き込む絶対「put」メソッドです (任意操作)。
abstract ByteBufferputInt(int value)
int 値を書き込む相対「put」メソッドです (任意操作)。
abstract ByteBufferputInt(int index,
int value)
int 値を書き込む絶対「put」メソッドです (任意操作)。
abstract ByteBufferputLong(int index,
long value)
long 値を書き込む絶対「put」メソッドです (任意操作)。
abstract ByteBufferputLong(long value)
long 値を書き込む相対「put」メソッドです (任意操作)。
abstract ByteBufferputShort(int index,
short value)
short 値を書き込む絶対「put」メソッドです (任意操作)。
abstract ByteBufferputShort(short value)
short 値を書き込む相対「put」メソッドです (任意操作)。
abstract ByteBufferslice()
このバッファの共有のサブシーケンスを内容とする新しい byte バッファを作成します。
StringtoString()
このバッファの状態を簡単に説明する文字列を返します。
static ByteBufferwrap(byte[] array)
byte 配列をバッファにラップします。
static ByteBufferwrap(byte[] array,
int offset,
int length)
byte 配列をバッファにラップします。
クラス java.nio.Buffer から継承したメソッド
capacity, clear, flip, hasRemaining, isReadOnly, limit, limit, mark, position, position, remaining, reset, rewind
クラス java.lang.Object から継承したメソッド
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
メソッドの詳細
allocateDirect
public static ByteBuffer allocateDirect(int capacity)
を利用するかどうかは未指定です。補助配列
capacity - 新しいバッファの容量 (バイト)
allocate
public static ByteBuffer allocate(int capacity)
を利用することになっており、その補助配列は 0 です。
配列オフセット
capacity - 新しいバッファの容量 (バイト)
wrap
public static ByteBuffer wrap(byte[] array,
int offset,
int length)
となり、その{@link #arrayOffset 補助配列配列オフセットは 0 になります。
array - 新しいバッファを補助する配列offset - 使用するサブ配列の長さ。array.length 以下の正の数でなければならない。新しいバッファの位置は、この値に設定されるlength - 使用するサブ配列の長さ。array.length - offset 以下の正の数でなければならない。新しいバッファのリミットは、offset + length に設定される
IndexOutOfBoundsException - offset パラメータと length パラメータの前提条件が満たされていない場合
wrap
public static ByteBuffer wrap(byte[] array)
となり、その補助配列は 0 になります。配列オフセット
array - このバッファを補助する配列
slice
public abstract ByteBuffer slice()
duplicate
public abstract ByteBuffer duplicate()
asReadOnlyBuffer
public abstract ByteBuffer asReadOnlyBuffer()
duplicate メソッドとまったく同じになります。
get
public abstract byte get()
BufferUnderflowException - バッファの現在位置がリミット以上である場合
put
public abstract ByteBuffer put(byte b)
b - 書き込まれるバイト
BufferOverflowException - このバッファの現在位置がリミット以上である場合
ReadOnlyBufferException - このバッファが読み込み専用バッファである場合
get
public abstract byte get(int index)
index - バイトの読み込み位置を示すインデックス
IndexOutOfBoundsException - index が負の数である場合、またはバッファのリミット以上である場合
public abstract ByteBuffer put(int index,
byte b)
このバッファのインデックス位置に指定されたバイトを書き込みます。
index - バイトの書き込み先を示すインデックスb - 書き込まれるバイト値
IndexOutOfBoundsException - index が負の数である場合、またはバッファのリミット以上である場合
ReadOnlyBufferException - このバッファが読み込み専用バッファである場合
public ByteBuffer get(byte[] dst,
int offset,
int length)
このメソッドは、このバッファから指定された配列にバイトを転送します。このバッファ内に残っているバイト数が要求に満たない場合 (length > remaining())、バイトは一切転送されず、BufferUnderflowException がスローされます。
それ以外の場合、このメソッドは、このバッファの現在位置から length バイトを指定された配列の指定されたオフセット位置へコピーします。そのたびに、このバッファの位置が length ずつ増加します。
このメソッドを src.get(dst, off, len) の形式で呼び出すと、以下のループとまったく同じ結果になります。
for (int i = off; i < off + len; i++)
dst[i] = src.get();
ただし、このバッファ内に十分な数の byte 数があることを最初に確認する動作は除きます。また、このメソッドを使用したほうがループよりもはるかに効率的です。
dst - バイトの書き込み先となる配列offset - 最初のバイトの書き込み先となる配列内のオフセット。dst.length 以下の正の数でなければならないlength - 指定された配列に書き込まれる最大バイト数。dst.length - offset 以下の正の数でなければならない
BufferUnderflowException - このバッファ内に残っているバイト数が length よりも少ない場合
IndexOutOfBoundsException - offset パラメータと length パラメータの前提条件が満たされていない場合public ByteBuffer get(byte[] dst)
このメソッドは、このバッファから指定された配列へバイトを転送します。このメソッドを src.get(a) の形式で呼び出すと、以下の呼び出しと同じ結果になります。
src.get(a, 0, a.length)
BufferUnderflowException - このバッファ内に残っているバイト数が length よりも少ない場合public ByteBuffer put(ByteBuffer src)
このメソッドは、指定されたソースバッファ内に残っているバイトをこのバッファへ転送します。ソースバッファ内に残っているバイト数がこのバッファ内に残っているバイト数よりも多い場合 (src.remaining() > remaining())、バイトは一切転送されず、BufferOverflowException がスローされます。
それ以外の場合、このメソッドは、指定されたバッファの現在位置からこのバッファの現在位置へ n = src.remaining() バイトをコピーします。そのたびに、両方のバッファの位置が n ずつ増加します。
このメソッドを dst.put(src) の形式で呼び出すと、以下のループとまったく同じ結果になります。
while (src.hasRemaining())
dst.put(src.get());
ただし、このバッファ内に十分な容量があることを最初に確認する動作は除きます。また、このメソッドを使用したほうがループよりもはるかに効率的です。
src - バイトが読み込まれるソースバッファ (このバッファ以外)
BufferOverflowException - このバッファに、ソースバッファのバイトを格納できるだけの容量がない場合
IllegalArgumentException - ソースバッファとしてこのバッファを指定した場合
ReadOnlyBufferException - このバッファが読み込み専用バッファである場合
public ByteBuffer put(byte[] src,
int offset,
int length)
このメソッドは、指定されたソース配列からこのバッファへバイトを転送します。配列からコピーするバイト数がこのバッファ内に残っているバイト数より多い場合 (length > remaining())、バイトは一切転送されず、BufferOverflowException がスローされます。
それ以外の場合、このメソッドは、指定された配列の指定されたオフセット位置からこのバッファの現在位置へ length 分バイトをコピーします。そのたびに、このバッファの位置が length ずつ増加します。
このメソッドを dst.put(src, off, len) の形式で呼び出すと、以下のループとまったく同じ結果になります。
for (int i = off; i < off + len; i++)
dst.put(a[i]);
ただし、このバッファ内に十分な容量があることを最初に確認する動作は除きます。また、このメソッドを使用したほうがループよりもはるかに効率的です。
offset - 最初のバイトが読み込まれる配列内のオフセット。array.length 以下の正の数でなければならないlength - 指定された配列から読み取られるバイト数。array.length - offset 以下の正の数でなければならない
BufferOverflowException - このバッファ内に残っている容量が不足している場合
IndexOutOfBoundsException - offset パラメータと length パラメータの前提条件が満たされていない場合
ReadOnlyBufferException - このバッファが読み込み専用バッファである場合public final ByteBuffer put(byte[] src)
このメソッドは、ソースとなる指定された byte 配列の内容全体をこのバッファへ転送します。このメソッドを dst.put(a) の形式で呼び出すと、以下の呼び出しと同じ結果になります。
dst.put(a, 0, a.length)
BufferOverflowException - このバッファ内に残っている容量が不足している場合
ReadOnlyBufferException - このバッファが読み込み専用バッファである場合public final boolean hasArray()
このメソッドの戻り値が true であれば、array メソッドと arrayOffset メソッドを安全に呼び出すことができます。
public final byte[] array()
このバッファの内容に変更を加えると、返される配列の内容も変更されます。その逆も同様です。
このメソッドを呼び出す前に hasArray メソッドを呼び出し、このバッファがアクセス可能な補助配列を持っていることを確認します。
ReadOnlyBufferException - このバッファが配列を利用し、しかも読み込み専用である場合
UnsupportedOperationException - このバッファがアクセス可能な配列を利用しない場合public final int arrayOffset()
このバッファが配列によって補助されていれば、その位置 p が配列のインデックス p + arrayOffset() と一致します。
このメソッドを呼び出す前に hasArray メソッドを呼び出し、このバッファがアクセス可能な補助配列を持っていることを確認します。
ReadOnlyBufferException - このバッファが配列によって補助され、しかも読み込み専用である場合
UnsupportedOperationException - このバッファがアクセス可能な配列によって補助されない場合public abstract ByteBuffer compact()
バッファの現在位置からリミットまでの間にバイトが存在する場合、これらをバッファの先頭にコピーします。つまり、インデックス位置 p = position() のバイトがインデックス 0 にコピーされ、インデックス位置 p + 1 のバイトがインデックス 1 にコピーされるということです。インデックス位置 limit() - 1 のバイトがインデックス n = limit() - 1 - p にコピーされるまで、同様の処理が繰り返されます。最終的にバッファの位置は n に設定され、リミットは容量の値と等しくなります。マークは破棄されます。
バッファの位置は、0 ではなく、コピーされるバイト数と等しくなります。したがって、このメソッドを呼び出したあと、すぐに別の相対「put」メソッドを呼び出すことができます。
このメソッドは、書き込みが終了しなかった場合にバッファからのデータの書き込みを実行する前に呼び出します。以下のループは、バッファ buf を使って、あるチャネルから別のチャネルにバイトをコピーします。
buf.clear(); // Prepare buffer for use
for (;;) {
if (in.read(buf) < 0 && !buf.hasRemaining())
break; // No more bytes to transfer
buf.flip();
out.write(buf);
buf.compact(); // In case of partial write
}
ReadOnlyBufferException - このバッファが読み込み専用バッファである場合public abstract boolean isDirect()
public String toString()
Object 内の toStringpublic int hashCode()
byte バッファのハッシュコードは、バッファ内に残っている残りの要素、すなわち position() 〜 limit() - 1 の要素だけに依存します。
バッファのハッシュコードは内容依存型です。今後バッファの内容が変更されないことが明らかでないかぎり、バッファをハッシュマップその他のデータ構造のキーとして使用することは避けてください。
Object 内の hashCodeObject.equals(java.lang.Object),
Hashtablepublic boolean equals(Object ob)
2 つの byte バッファは、次の場合にかぎり等価です。
要素の型が同じである
バッファ内に残っている要素数が同じである
バッファ内に残っている要素のシーケンス (開始位置とは無関係) が各点で等しい
byte バッファが、その他の型のオブジェクトと等価になることはありません。
Object 内の equalsob - このバッファと比較するオブジェクト
Object.hashCode(),
Hashtablepublic int compareTo(Object ob)
2 つの byte バッファを比較する際は、バッファ内に残っている要素のシーケンスが辞書順に比較されます。このとき、双方のバッファ内に残っているシーケンスの開始位置は考慮されません。
byte バッファをその他の型のオブジェクトと比較することはできません。
Comparable 内の compareToob - 比較対象の Object
ClassCastException - 引数が byte バッファではない場合public final ByteOrder order()
バイト順序は、複数バイトの値を読み取るときや書き込むとき、そしてこの byte バッファのビューとなるバッファを作成するときに使用します。新しく作成された byte バッファの順序は常に BIG_ENDIAN になります。
public final ByteBuffer order(ByteOrder bo)
bo - 新しいバイト順序 BIG_ENDIAN または LITTLE_ENDIAN
public abstract char getChar()
このバッファの現在位置から 2 バイトを読み込み、現在のバイト順序に従って、これらを char 値に変換します。位置の値は、そのたびに 2 ずつ増加します。
BufferUnderflowException - このバッファ内に残っているバイト数が 2 バイトより少ない場合public abstract ByteBuffer putChar(char value)
このバッファの現在位置に、現在のバイト順序に従って、指定された char 値を含む 2 バイトを書き込みます。位置の値は、そのたびに 2 ずつ増加します。
value - 書き込まれる char 値
BufferOverflowException - このバッファ内に残っているバイト数が 2 バイトより少ない場合public abstract char getChar(int index)
指定されたインデックス位置にある 2 バイトを読み込み、現在のバイト順序に従って、これらを char 値に変換します。
index - バイトの読み込み位置を示すインデックス
IndexOutOfBoundsException - index が負の数である場合、またはバッファのリミットから 1 を引いた値以上である場合
public abstract ByteBuffer putChar(int index,
char value)
このバッファの指定されたインデックス位置に、現在のバイト順序に従って、指定された char 値を含む 2 バイトを書き込みます。
index - バイトの書き込み先を示すインデックスvalue - 書き込まれる char 値
IndexOutOfBoundsException - index が負の数である場合、またはバッファのリミットから 1 を引いた値以上である場合public abstract CharBuffer asCharBuffer()
新しいバッファの内容は、このバッファの現在位置から始まります。このバッファの内容に変更を加えると、その内容が新しいバッファに反映されます。逆の場合も同じです。2 つのバッファの位置、リミット、マークの値はそれぞれ異なります。
新しいバッファの位置は 0、容量とリミットはこのバッファ内に残っているバイト数の 1/2 になります。マークは定義されません。新しいバッファは、このバッファがダイレクトバッファである場合にかぎりダイレクトバッファになります。また、このバッファが読み込み専用バッファである場合にかぎり読み込み専用バッファになります。
public abstract short getShort()
このバッファの現在位置から 2 バイトを読み込み、現在のバイト順序に従って、これらを short 値に変換します。位置の値は、そのたびに 2 ずつ増加します。
BufferUnderflowException - このバッファ内に残っているバイト数が 2 バイトより少ない場合public abstract ByteBuffer putShort(short value)
このバッファの現在位置に、現在のバイト順序に従って、指定された short 値を含む 2 バイトを書き込みます。位置の値は、そのたびに 2 ずつ増加します。
value - 書き込まれる short 値
BufferOverflowException - このバッファ内に残っているバイト数が 2 バイトより少ない場合public abstract short getShort(int index)
指定されたインデックス位置にある 2 バイトを読み込み、現在のバイト順序に従って、これらを short 値に変換します。
index - バイトの読み込み位置を示すインデックス
IndexOutOfBoundsException - index が負の数である場合、またはバッファのリミットから 1 を引いた値以上である場合
public abstract ByteBuffer putShort(int index,
short value)
このバッファの指定されたインデックス位置に、現在のバイト順序に従って、指定された short 値を含む 2 バイトを書き込みます。
index - バイトの書き込み先を示すインデックスvalue - 書き込まれる short 値
IndexOutOfBoundsException - index が負の数である場合、またはバッファのリミットから 1 を引いた値以上である場合public abstract ShortBuffer asShortBuffer()
新しいバッファの内容は、このバッファの現在位置から始まります。このバッファの内容に変更を加えると、その内容が新しいバッファに反映されます。逆の場合も同じです。2 つのバッファの位置、リミット、マークの値はそれぞれ異なります。
新しいバッファの位置は 0、容量とリミットはこのバッファ内に残っているバイト数の 1/2 になります。マークは定義されません。新しいバッファは、このバッファがダイレクトバッファである場合にかぎりダイレクトバッファになります。また、このバッファが読み込み専用バッファである場合にかぎり読み込み専用バッファになります。
public abstract int getInt()
このバッファの現在位置から 4 バイトを読み込み、現在のバイト順序に従って、これらを int 値に変換します。位置の値は、そのたびに 4 ずつ増加します。
BufferUnderflowException - このバッファ内に残っているバイト数が 4 バイトより少ない場合public abstract ByteBuffer putInt(int value)
このバッファの現在位置に、現在のバイト順序に従って、指定された int 値を含む 4 バイトを書き込みます。位置の値は、そのたびに 4 ずつ増加します。
value - 書き込まれる int 値
BufferOverflowException - このバッファ内に残っているバイト数が 4 バイトより少ない場合public abstract int getInt(int index)
指定されたインデックス位置にある 4 バイトを読み込み、現在のバイト順序に従って、これらを int 値に変換します。
index - バイトの読み込み位置を示すインデックス
IndexOutOfBoundsException - index が負の数である場合、またはバッファのリミットから 3 を引いた値以上である場合
public abstract ByteBuffer putInt(int index,
int value)
このバッファの指定されたインデックス位置に、現在のバイト順序に従って、指定された int 値を含む 4 バイトを書き込みます。
index - バイトの書き込み先を示すインデックスvalue - 書き込まれる int 値
IndexOutOfBoundsException - index が負の数である場合、またはバッファのリミットから 3 を引いた値以上である場合public abstract IntBuffer asIntBuffer()
新しいバッファの内容は、このバッファの現在位置から始まります。このバッファの内容に変更を加えると、その内容が新しいバッファに反映されます。逆の場合も同じです。2 つのバッファの位置、リミット、マークの値はそれぞれ異なります。
新しいバッファの位置は 0、容量とリミットはこのバッファ内に残っているバイト数の 1/4 になります。マークは定義されません。新しいバッファは、このバッファがダイレクトバッファである場合にかぎりダイレクトバッファになります。また、このバッファが読み込み専用バッファである場合にかぎり読み込み専用バッファになります。
public abstract long getLong()
このバッファの現在位置から 8 バイトを読み込み、現在のバイト順序に従って、これらを long 値に変換します。位置の値は、そのたびに 8 ずつ増加します。
BufferUnderflowException - このバッファ内に残っているバイト数が 8 バイトより少ない場合public abstract ByteBuffer putLong(long value)
このバッファの現在位置に、現在のバイト順序に従って、指定された long 値を含む 8 バイトを書き込みます。位置の値は、そのたびに 8 ずつ増加します。
value - 書き込まれる long 値
BufferOverflowException - このバッファ内に残っているバイト数が 8 バイトより少ない場合public abstract long getLong(int index)
指定されたインデックス位置にある 8 バイトを読み込み、現在のバイト順序に従って、これらを long 値に変換します。
index - バイトの読み込み位置を示すインデックス
IndexOutOfBoundsException - index が負の数である場合、またはバッファのリミットから 7 を引いた値以上である場合
public abstract ByteBuffer putLong(int index,
long value)
このバッファの指定されたインデックス位置に、現在のバイト順序に従って、指定された long 値を含む 8 バイトを書き込みます。
index - バイトの書き込み先を示すインデックスvalue - 書き込まれる long 値
IndexOutOfBoundsException - index が負の数である場合、またはバッファのリミットから 7 を引いた値以上である場合public abstract LongBuffer asLongBuffer()
新しいバッファの内容は、このバッファの現在位置から始まります。このバッファの内容に変更を加えると、その内容が新しいバッファに反映されます。逆の場合も同じです。2 つのバッファの位置、リミット、マークの値はそれぞれ異なります。
新しいバッファの位置は 0、容量とリミットはこのバッファ内に残っているバイト数の 1/8 になります。マークは定義されません。新しいバッファは、このバッファがダイレクトバッファである場合にかぎりダイレクトバッファになります。また、このバッファが読み込み専用バッファである場合にかぎり読み込み専用バッファになります。
public abstract float getFloat()
このバッファの現在位置から 4 バイトを読み込み、現在のバイト順序に従って、これらを float 値に変換します。位置の値は、そのたびに 4 ずつ増加します。
BufferUnderflowException - このバッファ内に残っているバイト数が 4 バイトより少ない場合public abstract ByteBuffer putFloat(float value)
このバッファの現在位置に、現在のバイト順序に従って、指定された float 値を含む 4 バイトを書き込みます。位置の値は、そのたびに 4 ずつ増加します。
value - 書き込まれる float 値
BufferOverflowException - このバッファ内に残っているバイト数が 4 バイトより少ない場合public abstract float getFloat(int index)
指定されたインデックス位置にある 4 バイトを読み込み、現在のバイト順序に従って、これらを float 値に変換します。
index - バイトの読み込み位置を示すインデックス
IndexOutOfBoundsException - index が負の数である場合、またはバッファのリミットから 3 を引いた値以上である場合
public abstract ByteBuffer putFloat(int index,
float value)
このバッファの指定されたインデックス位置に、現在のバイト順序に従って、指定された float 値を含む 4 バイトを書き込みます。
index - バイトの書き込み先を示すインデックスvalue - 書き込まれる float 値
IndexOutOfBoundsException - index が負の数である場合、またはバッファのリミットから 3 を引いた値以上である場合public abstract FloatBuffer asFloatBuffer()
新しいバッファの内容は、このバッファの現在位置から始まります。このバッファの内容に変更を加えると、その内容が新しいバッファに反映されます。逆の場合も同じです。2 つのバッファの位置、リミット、マークの値はそれぞれ異なります。
新しいバッファの位置は 0、容量とリミットはこのバッファ内に残っているバイト数の 1/4 になります。マークは定義されません。新しいバッファは、このバッファがダイレクトバッファである場合にかぎりダイレクトバッファになります。また、このバッファが読み込み専用バッファである場合にかぎり読み込み専用バッファになります。
public abstract double getDouble()
このバッファの現在位置から 8 バイトを読み込み、現在のバイト順序に従って、これらを double 値に変換します。位置の値は、そのたびに 8 ずつ増加します。
BufferUnderflowException - このバッファ内に残っているバイト数が 8 バイトより少ない場合public abstract ByteBuffer putDouble(double value)
このバッファの現在位置に、現在のバイト順序に従って、指定された double 値を含む 8 バイトを書き込みます。位置の値は、そのたびに 8 ずつ増加します。
value - 書き込まれる double 値
BufferOverflowException - このバッファ内に残っているバイト数が 8 バイトより少ない場合public abstract double getDouble(int index)
指定されたインデックス位置にある 8 バイトを読み込み、現在のバイト順序に従って、これらを double 値に変換します。
index - バイトの読み込み位置を示すインデックス
IndexOutOfBoundsException - index が負の数である場合、またはバッファのリミットから 7 を引いた値以上である場合
public abstract ByteBuffer putDouble(int index,
double value)
このバッファの指定されたインデックス位置に、現在のバイト順序に従って、指定された double 値を含む 8 バイトを書き込みます。
index - バイトの書き込み先を示すインデックスvalue - 書き込まれる double 値
IndexOutOfBoundsException - index が負の数である場合、またはバッファのリミットから 7 を引いた値以上である場合public abstract DoubleBuffer asDoubleBuffer()
新しいバッファの内容は、このバッファの現在位置から始まります。このバッファの内容に変更を加えると、その内容が新しいバッファに反映されます。逆の場合も同じです。2 つのバッファの位置、リミット、マークの値はそれぞれ異なります。
新しいバッファの位置は 0、容量とリミットはこのバッファ内に残っているバイト数の 1/8 になります。マークは定義されません。新しいバッファは、このバッファがダイレクトバッファである場合にかぎりダイレクトバッファになります。また、このバッファが読み込み専用バッファである場合にかぎり読み込み専用バッファになります。
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||||
Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.