| 
 | JavaTM Platform Standard Ed. 6 | |||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjava.io.InputStream
java.io.ByteArrayInputStream
public class ByteArrayInputStream
ByteArrayInputStream は、ストリームから読み込まれたバイトを格納する内部バッファーを保持しています。内部カウンタによって、read メソッドで次に読み込まれるバイトを追跡します。
 
ByteArrayInputStream を閉じても、何の影響もありません。IOException を生成せずにストリームが閉じられたあとで、このクラスのメソッドを呼び出すことができます。
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()ByteArrayInputStream を閉じても、何の影響もありません。 | 
|  void | mark(int readAheadLimit)ストリームに現在のマーク位置を設定します。 | 
|  boolean | markSupported()この InputStreamが mark/reset をサポートしているかどうかを判定します。 | 
|  int | read()この入力ストリームからデータの次のバイトを読み込みます。 | 
|  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() メソッドによりこの位置に設定されます。
 マークが設定されていない場合、マークの値はコンストラクタに渡されたオフセットになります (オフセットが渡されない場合は 0)。
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+length と buf.length の最小値です。バッファー配列はコピーされません。バッファーのマークは指定したオフセットに設定されます。
buf - 入力バッファoffset - バッファーからのバイト読み込み開始オフセットlength - バッファーから読み込む最大バイト数| メソッドの詳細 | 
|---|
public int read()
0 〜 255 の範囲の int として返されます。ストリームの終わりに達したために読み込むバイトがない場合は、値 -1 が返されます。
 
この read メソッドはブロックできません。
InputStream 内の 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 メソッドはブロックできません。
InputStream 内の readb - データの読み込み先のバッファoff - 転送先の配列 b 内での開始オフセットlen - 読み込まれる最大バイト数
-1
NullPointerException - b が null の場合
IndexOutOfBoundsException - off が負の場合、len が負の場合、または len が b.length - off よりも大きい場合InputStream.read()public long skip(long n)
n バイトだけスキップします。ストリームの終わりに達した場合は、スキップされるバイト数が少なくなることがあります。実際にスキップされるバイト数 k は、n と count-pos のうちのどちらか小さい方に一致します。値 k が pos に加えられ、k が返されます。
InputStream 内の skipn - スキップするバイト数
public int available()
戻り値は、count - pos で、入力バッファーから読み込む残りのバッファー数です。
InputStream 内の availablepublic boolean markSupported()
InputStream が mark/reset をサポートしているかどうかを判定します。ByteArrayInputStream の markSupported メソッドは常に true を返します。
InputStream 内の markSupportedtrue、サポートしていない場合は falseInputStream.mark(int), 
InputStream.reset()public void mark(int readAheadLimit)
マークが設定されていない場合、マークの値はコンストラクタに渡されたオフセットになります (オフセットが渡されない場合は 0)。
 注:このクラスの readAheadLimit に意味はありません。
InputStream 内の markreadAheadLimit - マーク位置が無効になる前に読み込み可能なバイトの最大リミットInputStream.reset()public void reset()
InputStream 内の resetInputStream.mark(int), 
IOException
public void close()
           throws IOException
Closeable 内の closeInputStream 内の closeIOException - 入出力エラーが発生した場合| 
 | JavaTM Platform Standard Ed. 6 | |||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。