全パッケージ クラス階層 このパッケージ 前項目 次項目 インデックス
java.lang.Object | +----java.io.InputStream
InputStream
のサブクラスを定義する必要のあるアプリケーションは、必ず入力の次のバイトを返すメソッドを提供しなければなりません。
mark
と reset
メソッドをサポートしているかをテストする。
b.length
バイトのデータを読み込む。
len
バイトのデータを読み込む。 mark
メソッドが呼び出された時点のマーク位置へストリームを再設定する。
n
バイトだけスキップしてその範囲のデータを捨てる。public InputStream()
public abstract int read() throws IOException
0
から 255
の値をとる int
として返されます。ストリームの終端に達して読み込むデータが存在しない場合は -1
を返します。このメソッドはデータが読み込み可能になるか、ストリームの終端が検出されるか、または例外がスローされるまでブロックします。
サブクラスはこのメソッドの実装を提供しなければなりません。
-1
。
public int read(byte b[]) throws IOException
b.length
バイトのデータを読み込みます。
InputStream
の read
メソッドは、3個の引数をとる read
メソッドに引数 b
、0
、および b.length
を与えて呼び出します。
-1
。
public int read(byte b[], int off, int len) throws IOException
len
バイトのデータを読み込みます。このメソッドはデータが読み込み可能になるまでブロックします。もし第1引数が null
であった場合は、最大 len
バイトのデータを読み込み、それを廃棄します。
InputStream
の read
メソッドは引数を取らない read メソッドを繰り返し呼び出して1回に1バイトずつ読み込んで配列に書き込みます。サブクラスでこのメソッドを実装する場合はより効率の良い方法をとられることを勧めます。
-1
。
public long skip(long n) throws IOException
n
バイトだけスキップしてその範囲のデータを捨てます。種々の理由により skip
メソッドは指定されたよりも小さな(0
の場合もあり)バイト数しかスキップしないことがあります。実際にスキップしたバイト数が返されます。
InputStream
の skip
メソッドは長さ n
のバイト配列を作成して、そこに n
バイトのデータを書き終えるか、またはストリームの終端に達するまで読み込みを続けます。サブクラスでこのメソッドを実装する場合はより効率の良い方法をとられることを勧めます。
public int available() throws IOException
InputStream
の available メソッドは 0
を返します。 このメソッドは 必ずサブクラスでオーバーライドしてください。
public void close() throws IOException
InputStream
の close
メソッドは何も行いません。
public synchronized void mark(int readlimit)
reset
メソッドを呼び出すと最後にマークを付けられた位置にストリームを再設定しますから、次回の読み込み操作は同じバイトから読み込むことになります。
引数 readlimit
はこの入力ストリームに対して、マーク位置が無効になる前にこの引数が指定するバイト数を読み込むように指示します。
InputStream
の mark
メソッドは何も行いません。
public synchronized void reset() throws IOException
mark
メソッドが呼び出されたときのマーク位置へこのストリームの位置を再設定します。
InputStream
の reset
メソッドは IOException
スローします。これは、入力ストリームがデフォルトにより mark
と reset
をサポートしていないためです。
ストリームのマークは、ストリームに何が含まれているかをチェックするために少しデータを先読みするために使われます。これを最も容易に実行する方法は一般的なパーザを動かすことです。 ストリームがパーザで取り扱えるタイプならば、これですべてうまく行きます。 ストリームがこのようなタイプではない場合は、パーザが失敗した場所で例外を発生します。もし readlimit バイトの範囲内でこれが発生した場合は、例外を検知した外部コードがストリームをリセットして、別なパーザで再トライすることができます。
public boolean markSupported()
mark
と reset
メソッドをサポートしているかどうかをテストします。 InputStream
の markSupported
メソッドは false
を返します。
mark
と reset
メソッドをサポートするタイプであれば true
、それ以外であれば false
。
全パッケージ クラス階層 このパッケージ 前項目 次項目 インデックス