|
Java プラットフォーム 1.2 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--java.io.InputStream | +--java.io.ByteArrayInputStream
ByteArrayInputStream
は、ストリームから読み込まれたバイトを格納する内部バッファを保持しています。内部カウンタによって、read
メソッドで次に読み込まれるバイトを追跡します。
StringBufferInputStream
フィールドの概要 | |
protected byte[] |
buf
ストリームの作成側によって提供されたバイトの配列です。 |
protected int |
count
入力ストリーム中の最後の有効文字位置よりも 1 つ大きな値を持つインデックスです。 |
protected int |
mark
ストリームの中で、現在マークが設定されている位置を示します。 |
protected int |
pos
入力ストリームバッファから次に読み込む文字位置を示すインデックスです。 |
コンストラクタの概要 | |
ByteArrayInputStream(byte[] buf)
buf をバッファ配列として使うように、ByteArrayInputStream を作成します。 |
|
ByteArrayInputStream(byte[] buf,
int offset,
int length)
buf をバッファ配列として使うように、ByteArrayInputStream を作成します。 |
メソッドの概要 | |
int |
available()
ブロックせずに入力ストリームから読み込むことができるバイト数を返します。 |
void |
close()
この入力ストリームを閉じて、それに関連するすべてのシステムリソースを解放します。 |
void |
mark(int readAheadLimit)
ストリームに現在のマーク位置を設定します。 |
boolean |
markSupported()
ByteArrayInputStream が mark/reset をサポートしているかどうかを判定します。 |
int |
read()
入力ストリームから次の 1 バイトを読み込みます。 |
int |
read(byte[] b,
int off,
int len)
入力ストリームから最大 len バイトのデータをバイト配列に読み込みます。 |
void |
reset()
マーク位置へバッファをリセットします。 |
long |
skip(long n)
入力ストリームからの入力を n バイト分スキップします。 |
クラス java.io.InputStream から継承したメソッド |
read |
クラス java.lang.Object から継承したメソッド |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
フィールドの詳細 |
protected byte[] buf
buf[0]
〜 buf[count-1]
の範囲内の要素だけです。次に読み込まれるバイトは要素 buf[pos]
です。protected int pos
count
の値より大きくてもいけません。入力ストリームバッファから読み込まれる次のバイトは、buf[pos]
になります。protected int mark
mark()
メソッドによりバッファ内のほかの位置にマークを設定できます。バッファの現在位置は、reset()
メソッドによりこの位置に設定されます。protected int count
buf
の長さより大きくてもいけません。これは、入力ストリームバッファから読み込まれる buf
内の最後のバイト位置より 1 つ大きい値です。コンストラクタの詳細 |
public ByteArrayInputStream(byte[] buf)
buf
をバッファ配列として使うように、ByteArrayInputStream
を作成します。バッファ配列はコピーされません。pos
の初期値は 0
で、count
の初期値は buf
の長さです。buf
- 入力バッファpublic ByteArrayInputStream(byte[] buf, int offset, int length)
buf
をバッファ配列として使うように、ByteArrayInputStream
を作成します。pos
の初期値は offset
で、count
の初期値は offset+len
です。バッファ配列はコピーされません。
バイトが結果の入力ストリームから単純に読み込まれる場合には、buf[pos]
〜 buf[pos+len-1]
の範囲内の要素が読み込まれますが、reset
オペレーションが実行される場合には、buf[0]
〜 buf[pos-1]
の範囲内のバイトが入力に使えるようになります。
buf
- 入力バッファoffset
- バッファからのバイト読み込み開始オフセットlength
- バッファから読み込む最大バイト数メソッドの詳細 |
public int read()
0
〜 255
までの値をとる int
として返されます。ストリームの終わりに達して読み込むバイトがない場合は、-1
が返されます。
この read
メソッドはブロックできません。
-1
public int read(byte[] b, int off, int len)
len
バイトのデータをバイト配列に読み込みます。pos
が count
と一致する場合は、ファイルの終わりに達したことを示す -1
が返されます。そうでない場合は、読み込まれるバイト数 k
は len
と count-pos
のうちのどちらか小さい方に一致します。k
が正の値の場合、buf[pos]
〜 buf[pos+k-1]
の範囲内のバイトが、System.arraycopy
により実行される方法で b[off]
〜 b[off+k-1]
にコピーされます。値 k
が pos
に加えられ、k
が返されます。
この read
メソッドはブロックできません。
b
- データが読み込まれるバッファoff
- データの開始オフセットlen
- 読み込む最大バイト数-1
public long skip(long n)
n
バイト分スキップします。ストリームの終わりに達した場合は、指定よりも少ない数だけスキップされることがあります。実際にスキップされるバイト数 k
は、n
と count-pos
のうちのどちらか小さい方に一致します。値 k
が pos
に加えられ、k
が返されます。n
- スキップするバイト数public int available()
count - pos
で、入力バッファから読み込む残りのバイト数を示します。public boolean markSupported()
public void mark(int readAheadLimit)
public void reset()
public void close() throws IOException
|
Java プラットフォーム 1.2 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |