モジュール java.base
パッケージ java.io

クラスFilterInputStream

java.lang.Object
java.io.InputStream
java.io.FilterInputStream
すべての実装されたインタフェース:
Closeable, AutoCloseable
直系の既知のサブクラス:
BufferedInputStream, CheckedInputStream, CipherInputStream, DataInputStream, DeflaterInputStream, DigestInputStream, InflaterInputStream, LineNumberInputStream, ProgressMonitorInputStream, PushbackInputStream

public class FilterInputStream extends InputStream
FilterInputStreamは、他の入力ストリームをラップします。このストリームは、データの基本ソースとして使用され、その方法に沿ってデータを変換したり、追加の機能を提供します。 クラスFilterInputStream自体は、すべてのリクエストをラップされた入力ストリームに渡すバージョンでInputStreamの選択メソッドをオーバーライドするだけです。 FilterInputStreamのサブクラスは、FilterInputStreamによって宣言または継承されるメソッドをオーバーライドし、追加のフィールドとメソッドを提供することもできます。
導入されたバージョン:
1.0
  • フィールドのサマリー

    フィールド
    修飾子と型
    フィールド
    説明
    protected InputStream
    フィルタ処理される入力ストリームです。
  • コンストラクタのサマリー

    コンストラクタ
    修飾子
    コンストラクタ
    説明
    protected
    あとで使用できるように引数inをフィールドthis.inに割り当てることによってFilterInputStreamを作成します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    int
    この入力ストリームのメソッドの次の呼出し側によって、ブロックせずにこの入力ストリームから読み込むことができる(またはスキップできる)推定バイト数を返します。
    void
    この入力ストリームを閉じて、そのストリームに関連するすべてのシステム・リソースを解放します。
    void
    mark(int readlimit)
    この入力ストリームの現在位置にマークを設定します。
    boolean
    この入力ストリームがmarkおよびresetメソッドをサポートしているかどうかを判定します。
    int
    この入力ストリームからデータの次のバイトを読み込みます。
    int
    read(byte[] b)
    最大b.lengthバイトのデータを、この入力ストリームからバイト配列に読み込みます。
    int
    read(byte[] b, int off, int len)
    最大lenバイトのデータを、この入力ストリームからバイト配列に読み込みます。
    void
    このストリームを、この入力ストリームで最後にmarkメソッドが呼び出されたときの位置に再配置します。
    long
    skip(long n)
    入力ストリームからnバイトのデータをスキップして破棄します。

    クラス java.io.InputStreamで宣言されたメソッド

    nullInputStream, readAllBytes, readNBytes, readNBytes, skipNBytes, transferTo

    クラス java.lang.Objectで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • フィールド詳細

    • in

      protected volatile InputStream in
      フィルタ処理される入力ストリームです。
  • コンストラクタの詳細

    • FilterInputStream

      protected FilterInputStream(InputStream in)
      あとで使用できるように引数inをフィールドthis.inに割り当てることによってFilterInputStreamを作成します。
      パラメータ:
      in - ベースとなる入力ストリーム。このインスタンスがベースとなるストリームなしで生成される場合はnull
  • メソッドの詳細

    • read

      public int read() throws IOException
      この入力ストリームからデータの次のバイトを読み込みます。 バイト値は、0 - 255の範囲のintとして返されます。 ストリームの終わりに達したために読み込むバイトがない場合は、-1が返されます。 入力データが読み込めるようになるか、ストリームの終わりが検出されるか、または例外が発生するまで、このメソッドはブロックされます。
      定義:
      read、クラス: InputStream
      実装要件:
      このメソッドは単純にin.read()を実行し、その結果を返します。
      戻り値:
      データの次のバイト。ストリームの終わりに達した場合は-1
      例外:
      IOException - 入出力エラーが発生した場合。
      関連項目:
    • read

      public int read(byte[] b) throws IOException
      最大b.lengthバイトのデータを、この入力ストリームからバイト配列に読み込みます。 このメソッドは、入力の一部が利用できるようになるまでブロックします。
      オーバーライド:
      read、クラス: InputStream
      実装要件:
      このメソッドは単純にread(b, 0, b.length)の呼出しを実行し、その結果を返します。 代わりにin.read(b)が実行されないようにしてください。FilterInputStreamの特定のサブクラスは、実際に使用されている実装方法に依存します。
      パラメータ:
      b - データの読込み先のバッファ。
      戻り値:
      バッファに読み込まれたバイトの合計数。ストリームの終わりに達してデータがない場合は-1
      例外:
      IOException - 入出力エラーが発生した場合。
      関連項目:
    • read

      public int read(byte[] b, int off, int len) throws IOException
      最大lenバイトのデータを、この入力ストリームからバイト配列に読み込みます。 lenが0でない場合、このメソッドは入力の一部が利用できるようになるまでブロックされます。それ以外の場合、バイトは読み込まれず、0が返されます。
      オーバーライド:
      read、クラス: InputStream
      実装要件:
      このメソッドは単純にin.read(b, off, len)を実行し、その結果を返します。
      パラメータ:
      b - データの読込み先のバッファ。
      off - 転送先配列の開始オフセットb
      len - 読み込まれる最大バイト数。
      戻り値:
      バッファに読み込まれたバイトの合計数。ストリームの終わりに達してデータがない場合は-1
      例外:
      NullPointerException - bnullである場合。
      IndexOutOfBoundsException - offが負の値の場合、lenが負の値の場合、あるいはlenb.length - offより大きい場合
      IOException - 入出力エラーが発生した場合。
      関連項目:
    • skip

      public long skip(long n) throws IOException
      入力ストリームからnバイトのデータをスキップして破棄します。 さまざまな理由から、skipメソッドは指定よりも少ないバイト数しかスキップしないことがあります。0の場合もあります。 スキップされた実際のバイト数が返されます。
      オーバーライド:
      skip、クラス: InputStream
      実装要件:
      このメソッドでは、単にin.skip(n)を実行して結果を返します。
      パラメータ:
      n - スキップされるバイト数。
      戻り値:
      実際にスキップされたバイト数。
      例外:
      IOException - in.skip(n)がIOExceptionをスローした場合。
      関連項目:
    • available

      public int available() throws IOException
      この入力ストリームのメソッドの次の呼出し側によって、ブロックせずにこの入力ストリームから読み込むことができる(またはスキップできる)推定バイト数を返します。 次の呼出し側は、同じスレッドの場合も別のスレッドの場合もあります。 このような多数のバイトを1回で読み込んだりスキップしたりすることでブロックすることはありませんが、読み込むまたはスキップするバイト数が少なくなることがあります。
      オーバーライド:
      available、クラス: InputStream
      実装要件:
      このメソッドは、in.available()の結果を返します。
      戻り値:
      ブロックせずにこの入力ストリームから読み込むことができる(またはスキップできる)推定バイト数。
      例外:
      IOException - 入出力エラーが発生した場合。
    • close

      public void close() throws IOException
      この入力ストリームを閉じて、そのストリームに関連するすべてのシステム・リソースを解放します。
      定義:
      close、インタフェース: AutoCloseable
      定義:
      close、インタフェース: Closeable
      オーバーライド:
      close、クラス: InputStream
      実装要件:
      このメソッドは単純にin.close()を実行します。
      例外:
      IOException - 入出力エラーが発生した場合。
      関連項目:
    • mark

      public void mark(int readlimit)
      この入力ストリームの現在位置にマークを設定します。 これに続いてresetメソッドを呼び出すと、最後にマークされた位置にこのストリームが再配置されるため、以降の読込みでは同じバイトが再度読み込まれます。

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

      オーバーライド:
      mark、クラス: InputStream
      実装要件:
      このメソッドは単純にin.mark(readlimit)を実行します。
      パラメータ:
      readlimit - マーク位置が無効になる前に読込み可能なバイト数の上限。
      関連項目:
    • reset

      public void reset() throws IOException
      このストリームを、この入力ストリームで最後にmarkメソッドが呼び出されたときの位置に再配置します。

      ストリームのマークは、ストリームに何が含まれているかをチェックするために、データを少しだけ先読みする必要がある場合に使われます。 これをもっとも容易に実行する方法は、一般的なパーサーを呼び出すことです。 ストリームがパーサーで取り扱えるタイプであれば、これでうまく行きます。 ストリームがこのようなタイプではない場合は、パーサーは失敗した時点で例外を発生させます。 readlimitバイトの範囲内でこれが発生した場合は、外部のコードでストリームをリセットし、別のパーサーを呼び出すことができます。

      オーバーライド:
      reset、クラス: InputStream
      実装要件:
      このメソッドは単純にin.reset()を実行します。
      例外:
      IOException - ストリームにマークが設定されていなかった場合、またはマークが無効になっていた場合。
      関連項目:
    • markSupported

      public boolean markSupported()
      この入力ストリームがmarkおよびresetメソッドをサポートしているかどうかを判定します。
      オーバーライド:
      markSupported、クラス: InputStream
      実装要件:
      このメソッドは単純にin.markSupported()を実行します。
      戻り値:
      このストリーム・インスタンスがmarkおよびresetメソッドをサポートしている場合はtrue、それ以外の場合はfalse
      関連項目: