- java.lang.Object
-
- javax.imageio.stream.ImageInputStreamImpl
-
- javax.imageio.stream.ImageOutputStreamImpl
-
- javax.imageio.stream.MemoryCacheImageOutputStream
-
- すべての実装されたインタフェース:
Closeable,DataInput,DataOutput,AutoCloseable,ImageInputStream,ImageOutputStream
public class MemoryCacheImageOutputStream extends ImageOutputStreamImpl
出力を通常のOutputStreamに書き込むImageOutputStreamの実装です。 メモリー・バッファには、少なくとも破棄位置と現在の書込み位置との間のデータがキャッシュされます。OutputStreamを使用するのはコンストラクタのみなので、このクラスは読み込み、変更、または書込み操作に使用できない場合があります。 読込みは、キャッシュに書込み済みでまだフラッシュされていないストリーム部分についてのみ行うことができます。
-
-
フィールドのサマリー
-
クラス javax.imageio.stream.ImageInputStreamImplから継承されたフィールド
bitOffset, byteOrder, flushedPos, streamPos
-
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 MemoryCacheImageOutputStream(OutputStream stream)指定されたOutputStreamに書き込むMemoryCacheImageOutputStreamを構築します。
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 voidclose()このMemoryCacheImageOutputStreamを閉じます。voidflushBefore(long pos)指示された位置より前のストリームの先頭部分を破棄します。booleanisCached()後方へのシークを可能にするために、このImageOutputStreamがデータをキャッシュするため、trueが返されます。booleanisCachedFile()このImageOutputStreamはファイル・キャッシュを維持しないため、falseが返されます。booleanisCachedMemory()このImageOutputStreamはメイン・メモリー・キャッシュを維持するため、trueが返されます。longlength()ストリームが未知の長さであることを示す-1Lを返します。intread()ストリームから1バイトを読み込み、それを0から255までのintとして返します。intread(byte[] b, int off, int len)ストリームから最大lenバイトを読み込み、bにインデックスoffから格納します。voidwrite(byte[] b, int off, int len)バイトのシーケンスをストリームの現在位置に書き込みます。voidwrite(int b)ストリームの現在の位置に1バイト書き込みます。-
インタフェース javax.imageio.stream.ImageInputStreamから継承されたメソッド
flush, getBitOffset, getByteOrder, getFlushedPosition, getStreamPosition, 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
-
クラス javax.imageio.stream.ImageInputStreamImplから継承されたメソッド
checkClosed, finalize, flush, getBitOffset, getByteOrder, getFlushedPosition, getStreamPosition, 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
-
クラス javax.imageio.stream.ImageOutputStreamImplから継承されたメソッド
flushBits, write, writeBit, writeBits, writeBoolean, writeByte, writeBytes, writeChar, writeChars, writeChars, writeDouble, writeDoubles, writeFloat, writeFloats, writeInt, writeInts, writeLong, writeLongs, writeShort, writeShorts, writeUTF
-
-
-
-
コンストラクタの詳細
-
MemoryCacheImageOutputStream
public MemoryCacheImageOutputStream(OutputStream stream)
指定されたOutputStreamに書き込むMemoryCacheImageOutputStreamを構築します。- パラメータ:
stream- 書込み先のOutputStream。- 例外:
IllegalArgumentException-streamがnullの場合。
-
-
メソッドの詳細
-
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です。 実装側は、
ImageOutputStreamImplのflushBitsメソッドを使用してこれを保証できます。- 定義:
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です。 実装側は、
ImageOutputStreamImplのflushBitsメソッドを使用してこれを保証できます。- 定義:
write、インタフェース:DataOutput- 定義:
write、インタフェース:ImageOutputStream- 定義:
write、クラス:ImageOutputStreamImpl- パラメータ:
b- 書き込まれるbyte配列。off- データの開始オフセット。len- 書き込むbyte数。- 例外:
IOException- 入出力エラーが発生した場合。
-
length
public long length()
クラスからコピーされた説明:ImageInputStreamImplストリームが未知の長さであることを示す-1Lを返します。 サブクラスでこのメソッドをオーバーライドして、実際の長さの情報を指定する必要があります。- 定義:
length、インタフェース:ImageInputStream- オーバーライド:
length、クラス:ImageInputStreamImpl- 戻り値:
- 未知の長さを示す -1L
-
isCached
public boolean isCached()
後方へのシークを可能にするために、このImageOutputStreamがデータをキャッシュするため、trueが返されます。- 定義:
isCached、インタフェース:ImageInputStream- オーバーライド:
isCached、クラス:ImageInputStreamImpl- 戻り値:
true。- 関連項目:
isCachedMemory(),isCachedFile()
-
isCachedFile
public boolean isCachedFile()
このImageOutputStreamはファイル・キャッシュを維持しないため、falseが返されます。- 定義:
isCachedFile、インタフェース:ImageInputStream- オーバーライド:
isCachedFile、クラス:ImageInputStreamImpl- 戻り値:
false。- 関連項目:
isCached(),isCachedMemory()
-
isCachedMemory
public boolean isCachedMemory()
このImageOutputStreamはメイン・メモリー・キャッシュを維持するため、trueが返されます。- 定義:
isCachedMemory、インタフェース:ImageInputStream- オーバーライド:
isCachedMemory、クラス:ImageInputStreamImpl- 戻り値:
true。- 関連項目:
isCached(),isCachedFile()
-
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- 入出力エラーが発生した場合。
-
-