public class FileCacheImageOutputStream extends ImageOutputStreamImpl
OutputStreamに書き込むImageOutputStreamの実装です。 ファイルは、データを出力ストリームにフラッシュするまでキャッシュとして使用されます。 bitOffset, byteOrder, flushedPos, streamPos| コンストラクタ | 説明 |
|---|---|
FileCacheImageOutputStream(OutputStream stream, File cacheDir) |
指定された
outputStreamに書き込むFileCacheImageOutputStreamを構築します。 |
| 修飾子と型 | メソッド | 説明 |
|---|---|---|
void |
close() |
この
FileCacheImageOutputStreamを閉じます。 |
void |
flushBefore(long pos) |
指示された位置より前のストリームの先頭部分を破棄します。
|
boolean |
isCached() |
後方へのシークを可能にするために、この
ImageOutputStreamがデータをキャッシュするため、trueが返されます。 |
boolean |
isCachedFile() |
この
ImageOutputStreamはファイル・キャッシュを維持するため、trueが返されます。 |
boolean |
isCachedMemory() |
この
ImageOutputStreamはメイン・メモリー・キャッシュを維持しないため、falseが返されます。 |
long |
length() |
ストリームが未知の長さであることを示す
-1Lを返します。 |
int |
read() |
ストリームから1バイトを読み込み、それを0から255までの
intとして返します。 |
int |
read(byte[] b, int off, int len) |
ストリームから最大
lenバイトを読み込み、bにインデックスoffから格納します。 |
void |
seek(long pos) |
現在のストリーム位置を設定してビット・オフセットを0にリセットします。
|
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, writeUTFcheckClosed, 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, setBitOffset, setByteOrder, skipBytes, skipBytesclone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitflush, 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, setBitOffset, setByteOrder, skipBytes, skipBytespublic FileCacheImageOutputStream(OutputStream stream, File cacheDir) throws IOException
outputStreamに書き込むFileCacheImageOutputStreamを構築します。
一時ファイルがキャッシュとして使用されます。 cacheDirがnullではなく、ディレクトリである場合、ファイルがそこに作成されます。 nullの場合、システム固有のデフォルト一時ファイル・ディレクトリが使用されます。詳細はFile.createTempFileのドキュメントを参照してください。
stream - 書込み先のOutputStream。cacheDir - キャッシュ・ファイルが作成される場所を示すFile。システム・ディレクトリを使用する場合はnull。IllegalArgumentException - streamがnullの場合。IllegalArgumentException - cacheDirがnull以外であるが、ディレクトリではない場合。IOException - キャッシュ・ファイルを作成できない場合。public int read()
throws IOException
ImageInputStreamImplintとして返します。 EOFに達すると-1を返します。
サブクラスでこのメソッドを実装する必要があります。 サブクラス実装で終了する前にストリーム位置を更新します。
ストリーム内のビット・オフセットは、読込みを行う前に0にリセットする必要があります。
read、インタフェースImageInputStreamread、クラスImageInputStreamImpl-1。IOException - ストリームが閉じられている場合。public int read(byte[] b,
int off,
int len)
throws IOException
ImageInputStreamImpllenバイトを読み込み、bにインデックスoffから格納します。 ストリームの終わりに達したためにバイトを読み込めない場合は、-1を返します。
ストリーム内のビット・オフセットは、読込みを行う前に0にリセットする必要があります。
サブクラスでこのメソッドを実装する必要があります。 サブクラス実装で終了する前にストリーム位置を更新します。
read、インタフェースImageInputStreamread、クラスImageInputStreamImplb - 書き込まれるバイト配列。off - 書込み先のb内の開始位置。len - 読み込む最大バイト数。-1。IOException - 入出力エラーが発生した場合。public void write(int b)
throws IOException
ImageOutputStreambの上位24ビットは無視されます。
ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。 書込み後は、ビット・オフセットは0です。 実装側は、ImageOutputStreamImplのflushBitsメソッドを使用してこれを保証できます。
write、インタフェースDataOutputwrite、インタフェースImageOutputStreamwrite、クラスImageOutputStreamImplb - 下位8ビットが書き込まれるint。IOException - 入出力エラーが発生した場合。public void write(byte[] b,
int off,
int len)
throws IOException
ImageOutputStreamlenが0の場合、何も書き込みません。 バイトb[off]を最初に書き込み、次にバイトb[off+1]を書き込む、という具合になります。
ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。 書込み後は、ビット・オフセットは0です。 実装側は、ImageOutputStreamImplのflushBitsメソッドを使用してこれを保証できます。
write、インタフェースDataOutputwrite、インタフェースImageOutputStreamwrite、クラスImageOutputStreamImplb - 書き込まれるbyte配列。off - データの開始オフセット。len - 書き込むbyte数。IOException - 入出力エラーが発生した場合。public long length()
ImageInputStreamImpl-1Lを返します。 サブクラスでこのメソッドをオーバーライドして、実際の長さの情報を指定する必要があります。 length、インタフェースImageInputStreamlength、クラスImageInputStreamImplpublic void seek(long pos)
throws IOException
EOFExceptionは読込みの場合のみスローされます。 書込みが実行されるまで、ファイル長は増加しません。 seek、インタフェースImageInputStreamseek、クラスImageInputStreamImplpos - 目的のファイル・ポインタ位置を示すlong。IndexOutOfBoundsException - posがフラッシュ位置よりも小さい場合。IOException - その他の入出力エラーが発生した場合。public boolean isCached()
ImageOutputStreamがデータをキャッシュするため、trueが返されます。isCached、インタフェースImageInputStreamisCached、クラスImageInputStreamImpltrue。isCachedMemory(), isCachedFile()public boolean isCachedFile()
ImageOutputStreamはファイル・キャッシュを維持するため、trueが返されます。isCachedFile、インタフェースImageInputStreamisCachedFile、クラスImageInputStreamImpltrue。isCached(), isCachedMemory()public boolean isCachedMemory()
ImageOutputStreamはメイン・メモリー・キャッシュを維持しないため、falseが返されます。isCachedMemory、インタフェースImageInputStreamisCachedMemory、クラスImageInputStreamImplfalse。isCached(), isCachedFile()public void close()
throws IOException
FileCacheImageOutputStreamを閉じます。 保留中のデータはすべて出力にフラッシュされ、キャッシュ・ファイルは閉じられて削除されます。 出力先OutputStreamは閉じられません。 close、インタフェースCloseableclose、インタフェースAutoCloseableclose、インタフェースImageInputStreamclose、クラスImageInputStreamImplIOException - エラーが発生した場合public void flushBefore(long pos)
throws IOException
ImageInputStreamIndexOutOfBoundsExceptionがスローされます。
flushBeforeを呼び出すと、このインタフェースを実装するクラスが、ストリームからデータを格納するのに使用するメモリーやディスク・スペースなどのリソースを解放できます。
flushBefore、インタフェースImageInputStreamflushBefore、インタフェースImageOutputStreamflushBefore、クラスImageInputStreamImplpos - フラッシュされるストリーム接頭辞の長さを示す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も参照してください。