モジュール java.desktop
パッケージ javax.imageio.stream

クラスMemoryCacheImageOutputStream

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


    public class MemoryCacheImageOutputStream
    extends ImageOutputStreamImpl
    出力を通常のOutputStreamに書き込むImageOutputStreamの実装です。 メモリー・バッファには、少なくとも破棄位置と現在の書込み位置との間のデータがキャッシュされます。 OutputStreamを使用するのはコンストラクタのみなので、このクラスは読み込み、変更、または書込み操作に使用できない場合があります。 読込みは、キャッシュに書込み済みでまだフラッシュされていないストリーム部分についてのみ行うことができます。
    • コンストラクタの詳細

      • MemoryCacheImageOutputStream

        public MemoryCacheImageOutputStream​(OutputStream stream)
        指定されたOutputStreamに書き込むMemoryCacheImageOutputStreamを構築します。
        パラメータ:
        stream - 書込み先のOutputStream
        例外:
        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 - 入出力エラーが発生した場合。
      • write

        public void write​(int b)
                   throws IOException
        インタフェースからコピーされた説明: ImageOutputStream
        ストリームの現在の位置に1バイト書き込みます。 bの上位24ビットは無視されます。

        ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。 書込み後は、ビット・オフセットは0です。 実装側は、ImageOutputStreamImplflushBitsメソッドを使用してこれを保証できます。

        定義:
        write、インタフェース: DataOutput
        定義:
        write、インタフェース: ImageOutputStream
        定義:
        write、クラス: ImageOutputStreamImpl
        パラメータ:
        b - 下位8ビットが書き込まれるint
        例外:
        IOException - 入出力エラーが発生した場合。
      • write

        public void write​(byte[] b,
                          int off,
                          int len)
                   throws IOException
        インタフェースからコピーされた説明: ImageOutputStream
        バイトのシーケンスをストリームの現在位置に書き込みます。 lenが0の場合、何も書き込みません。 バイトb[off]を最初に書き込み、次にバイトb[off+1]を書き込む、という具合になります。

        ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。 書込み後は、ビット・オフセットは0です。 実装側は、ImageOutputStreamImplflushBitsメソッドを使用してこれを保証できます。

        定義:
        write、インタフェース: DataOutput
        定義:
        write、インタフェース: ImageOutputStream
        定義:
        write、クラス: ImageOutputStreamImpl
        パラメータ:
        b - 書き込まれるbyte配列。
        off - データの開始オフセット。
        len - 書き込むbyte数。
        例外:
        IOException - 入出力エラーが発生した場合。
      • length

        public long length​()
        クラスからコピーされた説明: ImageInputStreamImpl
        ストリームが未知の長さであることを示す-1Lを返します。 サブクラスでこのメソッドをオーバーライドして、実際の長さの情報を指定する必要があります。
        定義:
        length、インタフェース: ImageInputStream
        オーバーライド:
        length、クラス: ImageInputStreamImpl
        戻り値:
        未知の長さを示す -1L
      • close

        public void close​()
                   throws IOException
        このMemoryCacheImageOutputStreamを閉じます。 保留中のデータはすべて出力にフラッシュされ、キャッシュは解放されます。 出力先OutputStreamは閉じられません。
        定義:
        close、インタフェース: AutoCloseable
        定義:
        close、インタフェース: Closeable
        定義:
        close、インタフェース: ImageInputStream
        オーバーライド:
        close、クラス: ImageInputStreamImpl
        例外:
        IOException - 入出力エラーが発生した場合。
      • flushBefore

        public void flushBefore​(long pos)
                         throws IOException
        インタフェースからコピーされた説明: ImageInputStream
        指示された位置より前のストリームの先頭部分を破棄します。 ストリームのフラッシュされた部分内のオフセットにシークしようとすると、IndexOutOfBoundsExceptionがスローされます。

        flushBeforeを呼び出すと、このインタフェースを実装するクラスが、ストリームからデータを格納するのに使用するメモリーやディスク・スペースなどのリソースを解放できます。

        定義:
        flushBefore、インタフェース: ImageInputStream
        定義:
        flushBefore、インタフェース: ImageOutputStream
        オーバーライド:
        flushBefore、クラス: ImageInputStreamImpl
        パラメータ:
        pos - フラッシュされるストリーム接頭辞の長さを示すlong
        例外:
        IOException - 入出力エラーが発生した場合。