public class MemoryCacheImageOutputStream extends ImageOutputStreamImpl
OutputStream
に書き込むImageOutputStream
の実装です。 メモリー・バッファには、少なくとも破棄位置と現在の書込み位置との間のデータがキャッシュされます。 OutputStream
を使用するのはコンストラクタのみなので、このクラスは読み込み、変更、または書込み操作に使用できない場合があります。 読込みは、キャッシュに書込み済みでまだフラッシュされていないストリーム部分についてのみ行うことができます。 bitOffset, byteOrder, flushedPos, streamPos
コンストラクタ | 説明 |
---|---|
MemoryCacheImageOutputStream(OutputStream stream) |
指定された
OutputStream に書き込むMemoryCacheImageOutputStream を構築します。 |
修飾子と型 | メソッド | 説明 |
---|---|---|
void |
close() |
この
MemoryCacheImageOutputStream を閉じます。 |
void |
flushBefore(long pos) |
指示された位置より前のストリームの先頭部分を破棄します。
|
boolean |
isCached() |
後方へのシークを可能にするために、この
ImageOutputStream がデータをキャッシュするため、true が返されます。 |
boolean |
isCachedFile() |
この
ImageOutputStream はファイル・キャッシュを維持しないため、false が返されます。 |
boolean |
isCachedMemory() |
この
ImageOutputStream はメイン・メモリー・キャッシュを維持するため、true が返されます。 |
long |
length() |
ストリームが未知の長さであることを示す
-1L を返します。 |
int |
read() |
ストリームから1バイトを読み込み、それを0から255までの
int として返します。 |
int |
read(byte[] b, int off, int len) |
ストリームから最大
len バイトを読み込み、b にインデックスoff から格納します。 |
void |
write(byte[] b, int off, int len) |
バイトのシーケンスをストリームの現在位置に書き込みます。
|
void |
write(int b) |
ストリームの現在の位置に1バイト書き込みます。
|
flushBits, write, writeBit, writeBits, writeBoolean, writeByte, writeBytes, writeChar, writeChars, writeChars, writeDouble, writeDoubles, writeFloat, writeFloats, writeInt, writeInts, writeLong, writeLongs, writeShort, writeShorts, writeUTF
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
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
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
public MemoryCacheImageOutputStream(OutputStream stream)
OutputStream
に書き込むMemoryCacheImageOutputStream
を構築します。stream
- 書込み先のOutputStream
。IllegalArgumentException
- stream
がnull
の場合。public int read() throws IOException
ImageInputStreamImpl
int
として返します。 EOFに達すると-1
を返します。
サブクラスでこのメソッドを実装する必要があります。 サブクラス実装で終了する前にストリーム位置を更新します。
ストリーム内のビット・オフセットは、読込みを行う前に0にリセットする必要があります。
read
、インタフェースImageInputStream
read
、クラスImageInputStreamImpl
-1
。IOException
- ストリームが閉じられている場合。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
- 読み込む最大バイト数。-1
。IOException
- 入出力エラーが発生した場合。public void write(int b) throws IOException
ImageOutputStream
b
の上位24ビットは無視されます。
ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。 書込み後は、ビット・オフセットは0です。 実装側は、ImageOutputStreamImpl
のflushBits
メソッドを使用してこれを保証できます。
write
、インタフェースDataOutput
write
、インタフェースImageOutputStream
write
、クラスImageOutputStreamImpl
b
- 下位8ビットが書き込まれるint
。IOException
- 入出力エラーが発生した場合。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
- 入出力エラーが発生した場合。public long length()
ImageInputStreamImpl
-1L
を返します。 サブクラスでこのメソッドをオーバーライドして、実際の長さの情報を指定する必要があります。 length
、インタフェースImageInputStream
length
、クラスImageInputStreamImpl
public boolean isCached()
ImageOutputStream
がデータをキャッシュするため、true
が返されます。isCached
、インタフェースImageInputStream
isCached
、クラスImageInputStreamImpl
true
。isCachedMemory()
, isCachedFile()
public boolean isCachedFile()
ImageOutputStream
はファイル・キャッシュを維持しないため、false
が返されます。isCachedFile
、インタフェースImageInputStream
isCachedFile
、クラスImageInputStreamImpl
false
。isCached()
, isCachedMemory()
public boolean isCachedMemory()
ImageOutputStream
はメイン・メモリー・キャッシュを維持するため、true
が返されます。isCachedMemory
、インタフェースImageInputStream
isCachedMemory
、クラスImageInputStreamImpl
true
。isCached()
, isCachedFile()
public void close() throws IOException
MemoryCacheImageOutputStream
を閉じます。 保留中のデータはすべて出力にフラッシュされ、キャッシュは解放されます。 出力先OutputStream
は閉じられません。 close
、インタフェースCloseable
close
、インタフェースAutoCloseable
close
、インタフェースImageInputStream
close
、クラスImageInputStreamImpl
IOException
- 入出力エラーが発生した場合。public void flushBefore(long pos) throws IOException
ImageInputStream
IndexOutOfBoundsException
がスローされます。
flushBefore
を呼び出すと、このインタフェースを実装するクラスが、ストリームからデータを格納するのに使用するメモリーやディスク・スペースなどのリソースを解放できます。
flushBefore
、インタフェースImageInputStream
flushBefore
、インタフェースImageOutputStream
flushBefore
、クラスImageInputStreamImpl
pos
- フラッシュされるストリーム接頭辞の長さを示すlong
。IOException
- 入出力エラーが発生した場合。 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。