|
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 ByteBuffer
allocate(int capacity)
新しい byte バッファを割り当てます。
static ByteBuffer
allocateDirect(int capacity)
新しいダイレクト byte バッファを割り当てます。
byte[]
array()
このバッファを補助する byte 配列を返します (任意操作)。
int
arrayOffset()
このバッファの補助配列の最初の要素のオフセットを返します (任意操作)。
abstract CharBuffer
asCharBuffer()
char バッファとしてこの byte バッファのビューを作成します。
abstract DoubleBuffer
asDoubleBuffer()
double バッファとしてこの byte バッファのビューを作成します。
abstract FloatBuffer
asFloatBuffer()
float バッファとしてこの byte バッファのビューを作成します。
abstract IntBuffer
asIntBuffer()
int バッファとしてこの byte バッファのビューを作成します。
abstract LongBuffer
asLongBuffer()
long バッファとしてこの byte バッファのビューを作成します。
abstract ByteBuffer
asReadOnlyBuffer()
このバッファの内容を共有する新しい読み込み専用 byte バッファを作成します。
abstract ShortBuffer
asShortBuffer()
short バッファとしてこの byte バッファのビューを作成します。
abstract ByteBuffer
compact()
このバッファを圧縮します (任意操作)。
int
compareTo(Object ob)
このバッファを別のオブジェクトと比較します。
abstract ByteBuffer
duplicate()
このバッファの内容を共有する新しい byte バッファを作成します。
boolean
equals(Object ob)
このバッファが別のオブジェクトと等価であるかどうかを判断します。
abstract byte
get()
相対「get」メソッドです。
ByteBuffer
get(byte[] dst)
相対「一括 get」メソッドです。
ByteBuffer
get(byte[] dst,
int offset,
int length)
相対「一括 get」メソッドです。
abstract byte
get(int index)
絶対「get」メソッドです。
abstract char
getChar()
char 値を読み取る相対「get」メソッドです。
abstract char
getChar(int index)
char 値を読み取る絶対「get」メソッドです。
abstract double
getDouble()
double 値を読み取る相対「get」メソッドです。
abstract double
getDouble(int index)
double 値を読み取る絶対「get」メソッドです。
abstract float
getFloat()
float 値を読み取る相対「get」メソッドです。
abstract float
getFloat(int index)
float 値を読み取る絶対「get」メソッドです。
abstract int
getInt()
int 値を読み取る相対「get」メソッドです。
abstract int
getInt(int index)
int 値を読み取る絶対「get」メソッドです。
abstract long
getLong()
long 値を読み取る相対「get」メソッドです。
abstract long
getLong(int index)
long 値を読み取る絶対「get」メソッドです。
abstract short
getShort()
short 値を読み取る相対「get」メソッドです。
abstract short
getShort(int index)
short 値を読み取る絶対「get」メソッドです。
boolean
hasArray()
このバッファがアクセス可能な byte 配列を利用するかどうかを判断します。
int
hashCode()
このバッファの現在のハッシュコードを返します。
abstract boolean
isDirect()
このバッファがダイレクトバッファであるかどうかを判断します。
ByteOrder
order()
このバッファのバイト順序を取得します。
ByteBuffer
order(ByteOrder bo)
このバッファのバイト順序を変更します。
abstract ByteBuffer
put(byte b)
相対「put」メソッドです (任意操作)。
ByteBuffer
put(byte[] src)
相対一括「put」メソッドです (任意操作)。
ByteBuffer
put(byte[] src,
int offset,
int length)
相対「一括 put」メソッドです (任意操作)。
ByteBuffer
put(ByteBuffer src)
相対「一括 put」メソッドです (任意操作)。
abstract ByteBuffer
put(int index,
byte b)
絶対「put」メソッドです (任意操作)。
abstract ByteBuffer
putChar(char value)
char 値を書き込む相対「put」メソッドです (任意操作)。
abstract ByteBuffer
putChar(int index,
char value)
char 値を書き込む絶対「put」メソッドです (任意操作)。
abstract ByteBuffer
putDouble(double value)
double 値を書き込む相対「put」メソッドです (任意操作)。
abstract ByteBuffer
putDouble(int index,
double value)
double 値を書き込む絶対「put」メソッドです (任意操作)。
abstract ByteBuffer
putFloat(float value)
float 値を書き込む相対「put」メソッドです (任意操作)。
abstract ByteBuffer
putFloat(int index,
float value)
float 値を書き込む絶対「put」メソッドです (任意操作)。
abstract ByteBuffer
putInt(int value)
int 値を書き込む相対「put」メソッドです (任意操作)。
abstract ByteBuffer
putInt(int index,
int value)
int 値を書き込む絶対「put」メソッドです (任意操作)。
abstract ByteBuffer
putLong(int index,
long value)
long 値を書き込む絶対「put」メソッドです (任意操作)。
abstract ByteBuffer
putLong(long value)
long 値を書き込む相対「put」メソッドです (任意操作)。
abstract ByteBuffer
putShort(int index,
short value)
short 値を書き込む絶対「put」メソッドです (任意操作)。
abstract ByteBuffer
putShort(short value)
short 値を書き込む相対「put」メソッドです (任意操作)。
abstract ByteBuffer
slice()
このバッファの共有のサブシーケンスを内容とする新しい byte バッファを作成します。
String
toString()
このバッファの状態を簡単に説明する文字列を返します。
static ByteBuffer
wrap(byte[] array)
byte 配列をバッファにラップします。
static ByteBuffer
wrap(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
内の toString
public int hashCode()
byte バッファのハッシュコードは、バッファ内に残っている残りの要素、すなわち position() 〜 limit() - 1 の要素だけに依存します。
バッファのハッシュコードは内容依存型です。今後バッファの内容が変更されないことが明らかでないかぎり、バッファをハッシュマップその他のデータ構造のキーとして使用することは避けてください。
Object
内の hashCode
Object.equals(java.lang.Object)
,
Hashtable
public boolean equals(Object ob)
2 つの byte バッファは、次の場合にかぎり等価です。
要素の型が同じである
バッファ内に残っている要素数が同じである
バッファ内に残っている要素のシーケンス (開始位置とは無関係) が各点で等しい
byte バッファが、その他の型のオブジェクトと等価になることはありません。
Object
内の equals
ob
- このバッファと比較するオブジェクト
Object.hashCode()
,
Hashtable
public int compareTo(Object ob)
2 つの byte バッファを比較する際は、バッファ内に残っている要素のシーケンスが辞書順に比較されます。このとき、双方のバッファ内に残っているシーケンスの開始位置は考慮されません。
byte バッファをその他の型のオブジェクトと比較することはできません。
Comparable
内の compareTo
ob
- 比較対象の 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.