全パッケージ  クラス階層  このパッケージ  前項目  次項目  インデックス

クラス java.io.InputStream

java.lang.Object
   |
   +----java.io.InputStream

public abstract class InputStream
extends Object
この抽象クラスは、バイト入力ストリームを表現する全部のクラスのスーパークラスになっています。

InputStream のサブクラスを定義する必要のあるアプリケーションは、必ず入力の次のバイトを返すメソッドを提供しなければなりません。

参照:
BufferedInputStream, ByteArrayInputStream, DataInputStream, FilterInputStream, read, OutputStream, PushbackInputStream

Constructor Index

 o InputStream()

Method Index

 o available()
ブロッキングを発生することなしにこの入力から読み込むことのできるバイト数を返す。
 o close()
入力ストリームをクローズし、これに関連した全てのシステムリソースを解放する。
 o mark(int)
入力ストリームの現在位置にマークを付ける。
 o markSupported()
この入力ストリームが markreset メソッドをサポートしているかをテストする。
 o read()
入力ストリームから次のバイトデータを読み込む。
 o read(byte[])
入力ストリームからバイト配列へ最大 b.length バイトのデータを読み込む。
 o read(byte[], int, int)
入力ストリームからバイト配列へ最大 len バイトのデータを読み込む。
 o reset()
入力ストリーム上で最後に mark メソッドが呼び出された時点のマーク位置へストリームを再設定する。
 o skip(long)
入力ストリームからのデータを n バイトだけスキップしてその範囲のデータを捨てる。

Constructors

 o InputStream
  public InputStream()

Methods

 o read
 public abstract int read() throws IOException
入力ストリームから次のバイトデータを読み込みます。バイトの値は 0 から 255 の値をとる int として返されます。ストリームの終端に達して読み込むデータが存在しない場合は -1 を返します。このメソッドはデータが読み込み可能になるか、ストリームの終端が検出されるか、または例外がスローされるまでブロックします。

サブクラスはこのメソッドの実装を提供しなければなりません。

返り値:
次のバイトデータ。 ストリームの終端に達した場合は -1
例外: IOException
I/O エラーが発生した場合。
 o read
 public int read(byte b[]) throws IOException
入力ストリームからバイト配列へ最大 b.length バイトのデータを読み込みます。

InputStreamread メソッドは、3個の引数をとる read メソッドに引数 b0、および b.length を与えて呼び出します。

パラメータ:
b - データが読み込まれるバッファ。
返り値:
バッファに読み込まれた全バイト数。ストリームの終端に達して読み込むデータが存在しなかった場合は -1
例外: IOException
I/O エラーが発生した場合。
参照:
read
 o read
 public int read(byte b[],
                 int off,
                 int len) throws IOException
入力ストリームからバイト配列へ最大 len バイトのデータを読み込みます。このメソッドはデータが読み込み可能になるまでブロックします。もし第1引数が null であった場合は、最大 len バイトのデータを読み込み、それを廃棄します。

InputStreamread メソッドは引数を取らない read メソッドを繰り返し呼び出して1回に1バイトずつ読み込んで配列に書き込みます。サブクラスでこのメソッドを実装する場合はより効率の良い方法をとられることを勧めます。

パラメータ:
b - データが読み込まれるバッファ。
off - データ読み込みの開始位置を示すオフセット。
len - 読み込むバイトの最大数。
返り値:
バッファに読み込まれた全バイト数。ストリームの終端に達して読み込むデータが存在しなかった場合は -1
例外: IOException
I/O エラーが発生した場合。
参照:
read
 o skip
 public long skip(long n) throws IOException
入力ストリームからのデータを n バイトだけスキップしてその範囲のデータを捨てます。種々の理由により skip メソッドは指定されたよりも小さな(0 の場合もあり)バイト数しかスキップしないことがあります。実際にスキップしたバイト数が返されます。

InputStreamskip メソッドは長さ n のバイト配列を作成して、そこに n バイトのデータを書き終えるか、またはストリームの終端に達するまで読み込みを続けます。サブクラスでこのメソッドを実装する場合はより効率の良い方法をとられることを勧めます。

パラメータ:
n - スキップするバイト数。
返り値:
実際にスキップされたバイト数。
例外: IOException
I/O エラーが発生した場合。
 o available
 public int available() throws IOException
ブロッキングを発生することなしにこの入力から読み込むことのできるバイト数を返します。 InputStream の available メソッドは 0 を返します。 このメソッドは 必ずサブクラスでオーバーライドしてください。

返り値:
ブロッキングを発生することなしに入力から読み込むことのできるバイト数。
例外: IOException
I/O エラーが発生した場合。
 o close
 public void close() throws IOException
入力ストリームをクローズし、これに関連した全てのシステムリソースを解放します。

InputStreamclose メソッドは何も行いません。

例外: IOException
I/O エラーが発生した場合。
 o mark
  public synchronized void mark(int readlimit)
入力ストリームの現在位置にマークを付けます。これに続いて resetメソッドを呼び出すと最後にマークを付けられた位置にストリームを再設定しますから、次回の読み込み操作は同じバイトから読み込むことになります。

引数 readlimit はこの入力ストリームに対して、マーク位置が無効になる前にこの引数が指定するバイト数を読み込むように指示します。

InputStreammark メソッドは何も行いません。

パラメータ:
readlimit - マーク位置が無効になる前に読み込み可能な最大バイト数。
参照:
reset
 o reset
 public synchronized void reset() throws IOException
入力ストリームへ最後に mark メソッドが呼び出されたときのマーク位置へこのストリームの位置を再設定します。

InputStreamreset メソッドは IOException スローします。これは、入力ストリームがデフォルトにより markreset をサポートしていないためです。

ストリームのマークは、ストリームに何が含まれているかをチェックするために少しデータを先読みするために使われます。これを最も容易に実行する方法は一般的なパーザを動かすことです。 ストリームがパーザで取り扱えるタイプならば、これですべてうまく行きます。 ストリームがこのようなタイプではない場合は、パーザが失敗した場所で例外を発生します。もし readlimit バイトの範囲内でこれが発生した場合は、例外を検知した外部コードがストリームをリセットして、別なパーザで再トライすることができます。

例外: IOException
ストリームにマークが付けられていなかった場合、またはマークが無効になっていた場合。
参照:
mark, IOException
 o markSupported
  public boolean markSupported()
入力ストリームが markreset メソッドをサポートしているかどうかをテストします。 InputStreammarkSupported メソッドは false を返します。

返り値:
ストリームが markreset メソッドをサポートするタイプであれば true、それ以外であれば false
参照:
mark, reset

全パッケージ  クラス階層  このパッケージ  前項目  次項目  インデックス