jp.gr.java_conf.dangan.io
Class GrowthByteBuffer
public class GrowthByteBuffer
自動的に伸張するバッファ。
RandomAccessFile の メモリ版として使用する。
ただし、あまり巨大なデータを取り扱うのには向かない。
スレッドセーフではない。
jdk1.4 以降の ByteBufferとは互換性が無い。
-- revision history --
$Log: GrowthByteBuffer.java,v $
Revision 1.1 2002/12/05 00:00:00 dangan
[maintenance]
ソース整備
Revision 1.0 2002/07/24 00:00:00 dangan
add to version control
[bug fix]
grow() でバッファの増加量の計算が間違っていたのを修正。
[change]
読み込み限界に達した後の read( new byte[0] ) や
read( byte[] buf, int off, 0 ) の戻り値を
InputStream と同じく 0 になるようにした
[maintenance]
ソース整備
int | length() - 現在の読みこみ限界を得る。
|
int | position() - 現在位置を得る。
|
int | read() - 現在位置から 1byteのデータを読みこむ。
|
int | read(byte[] buffer) - 現在位置から bufferを満たすようにデータを読み込む。
|
int | read(byte[] buffer, int index, int length) - 現在位置から buffer のindexへ lengthのデータを読み込む。
|
void | seek(int position) - 現在位置を設定する。
java.io.RandomAccessFileと同じく
seek で読みこみ限界を超えた値を
設定した直後にはバッファは増加していない。
その後 write によって書きこんだ時にはじ
めてバッファは増加する。
|
void | setLength(int length) - 読みこみ限界位置を設定する。
|
void | setPosition(int position) - 現在位置を設定する。
java.io.RandomAccessFileと同じく
setPosition で読みこみ限界を超えた値を
設定した直後にはバッファは増加していない。
その後 write によって書きこんだ時にはじ
めてバッファは増加する。
|
void | write(byte[] buffer) - 現在位置に buffer の内容を書きこむ。
|
void | write(byte[] buffer, int index, int length) - 現在位置に buffer の indexからlengthバイトの内容を書きこむ。
|
void | write(int data) - 現在位置に 1バイトのデータを書きこむ。
|
GrowthByteBuffer
public GrowthByteBuffer()
サイズを自動で伸張するバッファを構築する。
バッファサイズにはデフォルト値が使用される。
GrowthByteBuffer
public GrowthByteBuffer(int BufferSize)
サイズを自動で伸張するバッファを構築する。
length
public int length()
現在の読みこみ限界を得る。
position
public int position()
現在位置を得る。
read
public int read()
現在位置から 1byteのデータを読みこむ。
- 読みこまれた1byteのデータ。
読みこみ限界を超えて読もうとした場合は -1
read
public int read(byte[] buffer)
現在位置から bufferを満たすようにデータを読み込む。
- 実際に読みこまれたデータ量
読みこみ限界を超えて読もうとした場合は -1
read
public int read(byte[] buffer,
int index,
int length)
現在位置から buffer のindexへ lengthのデータを読み込む。
buffer
- データを読み込むバッファindex
- buffer内データ読みこみ位置length
- 読み込むデータの量
- 実際に読みこまれたデータ量
読みこみ限界を超えて読もうとした場合は -1
seek
public void seek(int position)
現在位置を設定する。
java.io.RandomAccessFileと同じく
seek で読みこみ限界を超えた値を
設定した直後にはバッファは増加していない。
その後 write によって書きこんだ時にはじ
めてバッファは増加する。
setLength
public void setLength(int length)
読みこみ限界位置を設定する。
setPosition
public void setPosition(int position)
現在位置を設定する。
java.io.RandomAccessFileと同じく
setPosition で読みこみ限界を超えた値を
設定した直後にはバッファは増加していない。
その後 write によって書きこんだ時にはじ
めてバッファは増加する。
write
public void write(byte[] buffer)
現在位置に buffer の内容を書きこむ。
buffer
- 書きこむデータほ格納されたバッファ
write
public void write(byte[] buffer,
int index,
int length)
現在位置に buffer の indexからlengthバイトの内容を書きこむ。
buffer
- 書きこむデータほ格納されたバッファindex
- buffer内の書きこむデータの開始位置length
- 書きこむデータ量
write
public void write(int data)
現在位置に 1バイトのデータを書きこむ。
When you found typographical errors or omissions, Please mail to cqw10305@nifty.com
The company name and product name which are used in this document, it is the trademark or registered trademark of each company generally.
Copyright © 2001-2002 Michel Ishizuka. All Rights Reserved.