クラスMemoryCacheImageInputStream

java.lang.Object
javax.imageio.stream.ImageInputStreamImpl
javax.imageio.stream.MemoryCacheImageInputStream
すべての実装されたインタフェース:
Closeable, DataInput, AutoCloseable, ImageInputStream

public class MemoryCacheImageInputStream extends ImageInputStreamImpl
通常のInputStreamから入力を取得するImageInputStreamの実装です。 メモリー・バッファには、少なくとも破棄位置と現在の読込み位置との間のデータがキャッシュされます。

一般的に、通常のInputStreamから読み込む場合は、FileCacheImageInputStreamを使用することをお薦めします。 このクラスは、書込み可能な一時ファイルを作成できない場合のために用意されています。

  • フィールドのサマリー

    クラスで宣言されたフィールド ImageInputStreamImpl

    bitOffset, byteOrder, flushedPos, streamPos
    修飾子と型
    フィールド
    説明
    protected int
    ストリーム内の現在のビット・オフセットです。
    protected ByteOrder
    列挙クラスjava.nio.ByteOrderのインスタンスで表されるストリームのバイト順で、ByteOrder.BIG_ENDIANはネットワーク・バイト順、ByteOrder.LITTLE_ENDIANは逆順を示します。
    protected long
    それより前のデータが破棄される位置です。
    protected long
    ストリーム内の現在の読込み位置です。
  • コンストラクタのサマリー

    コンストラクタ
    コンストラクタ
    説明
    指定されたInputStreamから読み込むMemoryCacheImageInputStreamを構築します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    void
    このMemoryCacheImageInputStreamを閉じてキャッシュを解放します。
    boolean
    後方へのシークを可能にするために、このImageInputStreamがデータをキャッシュするため、trueが返されます。
    boolean
    このImageInputStreamはファイル・キャッシュを維持しないため、falseが返されます。
    boolean
    このImageInputStreamはメイン・メモリー・キャッシュを維持するため、trueが返されます。
    int
    ストリームから1バイトを読み込み、それを0から255までのintとして返します。
    int
    read(byte[] b, int off, int len)
    ストリームから最大lenバイトを読み込み、bにインデックスoffから格納します。

    クラスで宣言されたメソッド ImageInputStreamImpl

    checkClosed, flush, flushBefore, getBitOffset, getByteOrder, getFlushedPosition, getStreamPosition, length, mark, read, readBit, readBits, readBoolean, readByte, readBytes, readChar, readDouble, readFloat, readFully, readFully, readFully, readFully, readFully, readFully, readFully, readFully, readInt, readLine, readLong, readShort, readUnsignedByte, readUnsignedInt, readUnsignedShort, readUTF, reset, seek, setBitOffset, setByteOrder, skipBytes, skipBytes
    修飾子と型
    メソッド
    説明
    protected final void
    ストリームが閉じられていた場合はIOExceptionをスローします。
    void
    現在のストリーム位置より前の初期のストリーム位置を破棄します。
    void
    flushBefore(long pos)
    指示された位置より前のストリームの先頭部分を破棄します。
    int
    現在のビット・オフセットを0から7までの整数として返します。
    このストリームから読み込まれるデータのバイト順を、java.nio.ByteOrder列挙のインスタンスとして返します。
    long
    シークが実行されるストリーム内の一番初期の位置を返します。
    long
    ストリームの現在のバイト位置を返します。
    long
    ストリームが未知の長さであることを示す-1Lを返します。
    void
    マーク付けされた位置のスタック上に現在のストリーム位置をプッシュします。
    int
    read(byte[] b)
    read(b, 0, b.length)を呼び出す簡易メソッドです。
    int
    ストリームから1ビットを読み込み、それを値0または1intとして返します。
    long
    readBits(int numBits)
    ストリームからビット列を読み込み、longとして返します。読み込んだ最初のビットが出力の最上位ビットになります。
    boolean
    ストリームから1バイトを読み込み、0でない場合はtrueboolean値を返し、0の場合はfalseを返します。
    byte
    ストリームから1バイトを読み込み、それをbyte値として返します。
    void
    readBytes(IIOByteBuffer buf, int len)
    ストリームからlenバイトまでを読み込み、指定されたIIOByteBufferを変更してデータを検出可能なバイト配列、オフセット、および長さを示します。
    char
    readUnsignedShortと同等、ただし結果はcharデータ型を使用して返されます。
    double
    ストリームから8バイトを読み込み、現在のバイト順に従って概念上それらを連結して、結果をdouble値として返します。
    float
    ストリームから4バイトを読み込み、現在のバイト順に従って概念上それらを連結して、結果をfloat値として返します。
    void
    readFully(byte[] b)
    ストリームからb.lengthバイトを読み込み、bにインデックス0から格納します。
    void
    readFully(byte[] b, int off, int len)
    ストリームからlenバイトを読み込み、bにインデックスoffから格納します。
    void
    readFully(char[] c, int off, int len)
    ストリームから現在のバイト順に従ってlenバイトのchar (符号なし16ビット整数)値を読み込み、それらをcにインデックスoffから格納します。
    void
    readFully(double[] d, int off, int len)
    ストリームから現在のバイト順に従ってlenバイトのdouble (64ビットIEEE倍精度浮動小数点数)値を読み込み、それらをdにインデックスoffから格納します。
    void
    readFully(float[] f, int off, int len)
    ストリームから現在のバイト順に従ってlenバイトのfloat (32ビットIEEE単精度浮動小数点数)値を読み込み、それらをfにインデックスoffから格納します。
    void
    readFully(int[] i, int off, int len)
    ストリームから現在のバイト順に従ってlenバイトのint (符号付き32ビット整数)値を読み込み、それらをiにインデックスoffから格納します。
    void
    readFully(long[] l, int off, int len)
    ストリームから現在のバイト順に従ってlenバイトのlong (符号付き64ビット整数)値を読み込み、それらをlにインデックスoffから格納します。
    void
    readFully(short[] s, int off, int len)
    ストリームから現在のバイト順に従ってlenバイトのshort (符号付き16ビット整数)値を読み込み、それらをsにインデックスoffから格納します。
    int
    ストリームから4バイトを読み込み、現在のバイト順に従って概念上それらを連結して、結果をint値として返します。
    入力ストリームから、次の行のテキストを読み込みます。
    long
    ストリームから8バイトを読み込み、現在のバイト順に従って概念上それらを連結して、結果をlong値として返します。
    short
    ストリームから2バイトを読み込み、現在のバイト順に従って概念上それらを連結して、結果をshort値として返します。
    int
    ストリームからバイトを読み込んで、概念上、整数に変換し、符号拡張ビットを取り除くためにそれを0xffでマスクして、byte値として返します。
    long
    ストリームから4バイトを読み込んで現在のバイト順に従って概念上それらを連結し、結果の値をlongに変換して、符号拡張ビットを取り除くために0xffffffffLでマスクします。その結果を符号なしlong値として返します。
    int
    ストリームから2バイトを読み込んで、現在のバイト順に従って概念上それらを連結し、結果として得られる値をintに変換して、符号拡張ビットを取り除くために0xffffでマスクします。その結果を符号なしint値として返します。
    修正UTF-8形式でエンコードされた文字列を読み込みます。
    void
    マーク付けされた位置のスタックから現在のストリーム・バイトおよびビット位置をリセットします。
    void
    seek(long pos)
    現在のストリーム位置を目的の位置に設定します。
    void
    setBitOffset(int bitOffset)
    ビット・オフセットに0から7までの整数を設定します。
    void
    このストリームからの今後のデータ値の読込みのために、バイト順を設定します。
    int
    skipBytes(int n)
    seek(getStreamPosition()+n)を呼び出して、現在のストリーム位置を前進させます。
    long
    skipBytes(long n)
    seek(getStreamPosition()+n)を呼び出して、現在のストリーム位置を前進させます。

    クラスオブジェクトで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    修飾子と型
    メソッド
    説明
    protected Object
    このオブジェクトのコピーを作成して、返します。
    boolean
    このオブジェクトと他のオブジェクトが等しいかどうかを示します。
    protected void
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    最終決定は非推奨であり、将来のリリースで削除される可能性があります。
    final Class<?>
    このObjectの実行時クラスを返します。
    int
    このオブジェクトに対するハッシュ・コード値を返します。
    final void
    このオブジェクトのモニターで待機中のスレッドを1つ再開します。
    final void
    このオブジェクトのモニターで待機中のすべてのスレッドを再開します。
    オブジェクトの文字列表現を返します。
    final void
    現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。
    final void
    wait(long timeoutMillis)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
    final void
    wait(long timeoutMillis, int nanos)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
  • コンストラクタの詳細

    • MemoryCacheImageInputStream

      public MemoryCacheImageInputStream(InputStream stream)
      指定されたInputStreamから読み込むMemoryCacheImageInputStreamを構築します。
      パラメータ:
      stream - 読込み元のInputStream
      スロー:
      IllegalArgumentException - streamnullの場合。
  • メソッドの詳細

    • read

      public int read() throws IOException
      クラスからコピーされた説明: ImageInputStreamImpl
      ストリームから1バイトを読み込み、それを0から255までのintとして返します。 EOFに達すると-1を返します。

      サブクラスでこのメソッドを実装する必要があります。 サブクラス実装で終了する前にストリーム位置を更新します。

      ストリーム内のビット・オフセットは、読込みを行う前に0にリセットする必要があります。

      定義:
      read、インタフェースImageInputStream
      定義:
      read、クラスImageInputStreamImpl
      戻り値:
      ストリーム内の次のバイトの値。または、EOFに達した場合は-1
      スロー:
      IOException - ストリームが閉じられている場合。
    • read

      public int read(byte[] b, int off, int len) throws IOException
      クラスからコピーされた説明: ImageInputStreamImpl
      ストリームから最大lenバイトを読み込み、bにインデックスoffから格納します。 ストリームの終わりに達したためにバイトを読み込めない場合は、-1を返します。

      ストリーム内のビット・オフセットは、読込みを行う前に0にリセットする必要があります。

      サブクラスでこのメソッドを実装する必要があります。 サブクラス実装で終了する前にストリーム位置を更新します。

      定義:
      read、インタフェースImageInputStream
      定義:
      read、クラスImageInputStreamImpl
      パラメータ:
      b - 書き込まれるバイト配列。
      off - 書込み先のb内の開始位置。
      len - 読み込む最大バイト数。
      戻り値:
      実際に読み込まれたバイト数、またはEOFを示す-1
      スロー:
      IOException - 入出力エラーが発生した場合。
    • isCached

      public boolean isCached()
      後方へのシークを可能にするために、このImageInputStreamがデータをキャッシュするため、trueが返されます。
      定義:
      isCached、インタフェースImageInputStream
      オーバーライド:
      isCached、クラスImageInputStreamImpl
      戻り値:
      true
      関連項目:
    • isCachedFile

      public boolean isCachedFile()
      このImageInputStreamはファイル・キャッシュを維持しないため、falseが返されます。
      定義:
      isCachedFile、インタフェースImageInputStream
      オーバーライド:
      isCachedFile、クラスImageInputStreamImpl
      戻り値:
      false
      関連項目:
    • isCachedMemory

      public boolean isCachedMemory()
      このImageInputStreamはメイン・メモリー・キャッシュを維持するため、trueが返されます。
      定義:
      isCachedMemory、インタフェースImageInputStream
      オーバーライド:
      isCachedMemory、クラスImageInputStreamImpl
      戻り値:
      true
      関連項目:
    • close

      public void close() throws IOException
      このMemoryCacheImageInputStreamを閉じてキャッシュを解放します。 ソースInputStreamは閉じられません。
      スロー:
      IOException - 入出力エラーが発生した場合。