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

クラスByteArrayInputStream

  • すべての実装されたインタフェース:
    Closeable, AutoCloseable

    public class ByteArrayInputStream
    extends InputStream
    ByteArrayInputStreamは、ストリームから読み込むことができるバイトを格納する内部バッファを保持しています。 内部カウンタによって、readメソッドで次に読み込まれるバイトを追跡します。

    ByteArrayInputStreamを閉じても、何の影響もありません。 IOExceptionを生成せずにストリームが閉じられたあとで、このクラスのメソッドを呼び出すことができます。

    導入されたバージョン:
    1.0
    関連項目:
    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バイトだけスキップします。
    • フィールドの詳細

      • buf

        protected byte[] buf
        ストリームの作成側によって提供されたバイトの配列です。 要素buf[0]からbuf[count-1]は、ストリームから読み込むことができる唯一のバイトです。要素buf[pos]は次に読み込まれるバイトです。
      • pos

        protected int pos
        入力ストリーム・バッファから読み込む次の文字のインデックスです。 この値は常に、負以外でなければならず、countの値より大きくてもいけません。 入力ストリーム・バッファから読み込まれる次のバイトは、buf[pos]になります。
      • mark

        protected int mark
        ストリームの中で、現在マークが設定されている位置を示します。 ByteArrayInputStreamオブジェクトは、構築時にデフォルトで位置ゼロにマークされます。 このようなオブジェクトは、mark()メソッドによりバッファ内のほかの位置にマークを設定できます。 バッファの現在位置は、reset()メソッドによりこの位置に設定されます。

        マークが設定されていない場合、マークの値はコンストラクタに渡されたオフセットになります(オフセットが渡されない場合は0)。

        導入されたバージョン:
        1.1
      • count

        protected int count
        入力ストリーム中の最後の有効文字位置よりも1つ大きな値を持つインデックスです。 この値は常に、負以外でなければならず、bufの長さより大きくてもいけません。 これは、入力ストリーム・バッファから読み込まれるbuf内の最後のバイト位置より1つ大きい値です。
    • コンストラクタの詳細

      • ByteArrayInputStream

        public ByteArrayInputStream​(byte[] buf)
        bufをバッファ配列として使うように、ByteArrayInputStreamを作成します。 バッファ配列はコピーされません。 posの初期値は0であり、countの初期値はbufの長さです。
        パラメータ:
        buf - 入力バッファ。
      • ByteArrayInputStream

        public ByteArrayInputStream​(byte[] buf,
                                    int offset,
                                    int length)
        bufをバッファ配列として使用するByteArrayInputStreamを作成します。 posの初期値はoffsetであり、countの初期値はoffset+lengthbuf.lengthの小さい方です。 バッファ配列はコピーされません。 バッファのマークは指定したオフセットに設定されます。
        パラメータ:
        buf - 入力バッファ。
        offset - バッファからのバイト読込み開始オフセット。
        length - バッファから読み込む最大バイト数。
    • メソッドの詳細

      • read

        public int read()
        この入力ストリームからデータの次のバイトを読み込みます。 バイト値は、0 - 255の範囲のintとして返されます。 ストリームの終わりに達したために読み込むバイトがない場合は、-1が返されます。

        このreadメソッドはブロックできません。

        定義:
        read、クラスInputStream
        戻り値:
        データの次のバイト。ストリームの終わりに達した場合は-1
      • read

        public int read​(byte[] b,
                        int off,
                        int len)
        最大lenバイトのデータを、この入力ストリームからバイト配列に読み込みます。 poscountと一致する場合は、ファイルの終わりに達したことを示す-1が返されます。 それ以外の場合、読み込むバイト数kは、lencount-posの小さい方になります。 kが正の場合、System.arraycopyと同じ形式で、buf[pos]からbuf[pos+k-1]のバイトがb[off]からb[off+k-1]にコピーされます。 kposに加えられ、kが返されます。

        このreadメソッドはブロックできません。

        オーバーライド:
        read、クラスInputStream
        パラメータ:
        b - データの読込み先のバッファ。
        off - 転送先配列の開始オフセットb
        len - 読み込まれる最大バイト数。
        戻り値:
        バッファに読み込まれたバイトの合計数。ストリームの終わりに達してデータがない場合は-1
        例外:
        NullPointerException - bnullである場合。
        IndexOutOfBoundsException - offが負の値の場合、lenが負の値の場合、あるいはlenb.length - offより大きい場合
        関連項目:
        InputStream.read()
      • skip

        public long skip​(long n)
        この入力ストリームをnバイトだけスキップします。 ストリームの終わりに達した場合は、スキップされるバイト数が少なくなることがあります。 実際にスキップされるバイト数kは、ncount-posの小さい方になります。 kposに加えられ、kが返されます。
        オーバーライド:
        skip、クラスInputStream
        パラメータ:
        n - スキップされるバイト数。
        戻り値:
        実際にスキップされたバイト数。
      • available

        public int available()
        この入力ストリームから、読み込むことができる(またはスキップできる)残りのバイト数を返します。

        戻り値は、count - posで、入力バッファから読み込む残りのバイト数です。

        オーバーライド:
        available、クラスInputStream
        戻り値:
        ブロックせずにこの入力ストリームから読み込むことができる(またはスキップできる)残りのバイト数。
      • markSupported

        public boolean markSupported()
        このInputStreamがmark/resetをサポートしているかどうかを判定します。 ByteArrayInputStreammarkSupportedメソッドは常にtrueを返します。
        オーバーライド:
        markSupported、クラスInputStream
        戻り値:
        このストリーム・インスタンスがmarkおよびresetメソッドをサポートしている場合はtrue、それ以外の場合はfalse
        導入されたバージョン:
        1.1
        関連項目:
        InputStream.mark(int), InputStream.reset()
      • mark

        public void mark​(int readAheadLimit)
        ストリームに現在のマーク位置を設定します。 ByteArrayInputStreamオブジェクトは、構築時にデフォルトで位置ゼロにマークされます。 このようなオブジェクトは、このメソッドによりバッファ内のほかの位置にマークを設定できます。

        マークが設定されていない場合、マークの値はコンストラクタに渡されたオフセットになります(オフセットが渡されない場合は0)。

        ノート: このクラスのreadAheadLimitに意味はありません。

        オーバーライド:
        mark、クラスInputStream
        パラメータ:
        readAheadLimit - マーク位置が無効になる前に読込み可能なバイト数の上限。
        導入されたバージョン:
        1.1
        関連項目:
        InputStream.reset()
      • reset

        public void reset()
        マーク位置へバッファをリセットします。 ほかの位置にマークが設定されている場合またはコンストラクタにオフセットが指定されている場合を除き、マーク位置は0に設定されます。
        オーバーライド:
        reset、クラスInputStream
        関連項目:
        InputStream.mark(int)IOException
      • close

        public void close()
                   throws IOException
        ByteArrayInputStreamを閉じても、何の影響もありません。 IOExceptionを生成せずにストリームが閉じられたあとで、このクラスのメソッドを呼び出すことができます。
        定義:
        close、インタフェースAutoCloseable
        定義:
        close、インタフェースCloseable
        オーバーライド:
        close、クラスInputStream
        例外:
        IOException - 入出力エラーが発生した場合。