java.lang.Object
javax.imageio.stream.ImageInputStreamImpl
javax.imageio.stream.ImageOutputStreamImpl
javax.imageio.stream.FileCacheImageOutputStream
- すべての実装されたインタフェース:
Closeable
,DataInput
,DataOutput
,AutoCloseable
,ImageInputStream
,ImageOutputStream
public class FileCacheImageOutputStream extends ImageOutputStreamImpl
出力を通常の
OutputStream
に書き込むImageOutputStream
の実装です。 ファイルは、データを出力ストリームにフラッシュするまでキャッシュとして使用されます。 -
フィールドのサマリー
クラスjavax.imageio.stream.ImageInputStreamImplで宣言されたフィールド
bitOffset, byteOrder, flushedPos, streamPos
-
コンストラクタのサマリー
コンストラクタコンストラクタ説明FileCacheImageOutputStream
(OutputStream stream, File cacheDir) 指定されたoutputStream
に書き込むFileCacheImageOutputStream
を構築します。 -
メソッドのサマリー
修飾子と型メソッド説明void
close()
このFileCacheImageOutputStream
を閉じます。void
flushBefore
(long pos) 指定された位置より前のデータをすべて、OutputStream
やFile
などの基本となる出力先にフラッシュします。boolean
isCached()
後方へのシークを可能にするために、このImageOutputStream
がデータをキャッシュするため、true
が返されます。boolean
このImageOutputStream
はファイル・キャッシュを維持するため、true
が返されます。boolean
この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バイト書き込みます。クラス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
クラスjavax.imageio.stream.ImageInputStreamImplで宣言されたメソッド
checkClosed, finalize, 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, setBitOffset, setByteOrder, skipBytes, skipBytes
クラスjava.lang.Objectで宣言されたメソッド
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
インタフェース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, setBitOffset, setByteOrder, skipBytes, skipBytes
-
コンストラクタの詳細
-
FileCacheImageOutputStream
public 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
- キャッシュ・ファイルを作成できない場合。
-
-
メソッドの詳細
-
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
メソッドを使用してこれを保証できます。- パラメータ:
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
メソッドを使用してこれを保証できます。- パラメータ:
b
- 書き込まれるbyte
配列。off
- データの開始オフセット。len
- 書き込むbyte
数。- 例外:
IOException
- 入出力エラーが発生した場合。
-
length
public long length()クラスからコピーされた説明:ImageInputStreamImpl
ストリームが未知の長さであることを示す-1L
を返します。 サブクラスでこのメソッドをオーバーライドして、実際の長さの情報を指定する必要があります。- 定義:
length
、インタフェースImageInputStream
- オーバーライド:
length
、クラスImageInputStreamImpl
- 戻り値:
- 未知の長さを示す -1L
-
seek
public void seek(long pos) throws IOException 現在のストリーム位置を設定してビット・オフセットを0にリセットします。 シークでファイルの終わりを通過することは正常であり、EOFException
は読込みの場合のみスローされます。 書込みが実行されるまで、ファイル長は増加しません。- パラメータ:
pos
- 目的のファイル・ポインタ位置を示すlong
。- 例外:
IndexOutOfBoundsException
-pos
がフラッシュ位置よりも小さい場合。IOException
- その他の入出力エラーが発生した場合。
-
isCached
public boolean isCached()後方へのシークを可能にするために、このImageOutputStream
がデータをキャッシュするため、true
が返されます。- 定義:
isCached
、インタフェースImageInputStream
- オーバーライド:
isCached
、クラスImageInputStreamImpl
- 戻り値:
true
。- 関連項目:
-
isCachedFile
public boolean isCachedFile()このImageOutputStream
はファイル・キャッシュを維持するため、true
が返されます。- 定義:
isCachedFile
、インタフェースImageInputStream
- オーバーライド:
isCachedFile
、クラスImageInputStreamImpl
- 戻り値:
true
。- 関連項目:
-
isCachedMemory
public boolean isCachedMemory()このImageOutputStream
はメイン・メモリー・キャッシュを維持しないため、false
が返されます。- 定義:
isCachedMemory
、インタフェースImageInputStream
- オーバーライド:
isCachedMemory
、クラスImageInputStreamImpl
- 戻り値:
false
- 関連項目:
-
close
public void close() throws IOExceptionこのFileCacheImageOutputStream
を閉じます。 保留中のデータはすべて出力にフラッシュされ、キャッシュ・ファイルは閉じられて削除されます。 出力先OutputStream
は閉じられません。- 例外:
IOException
- エラーが発生した場合
-
flushBefore
public void flushBefore(long pos) throws IOException インタフェースからコピーされた説明:ImageOutputStream
指定された位置より前のデータをすべて、OutputStream
やFile
などの基本となる出力先にフラッシュします。 ストリームのフラッシュ部分にシークするとIndexOutOfBoundsException
がスローされます。- パラメータ:
pos
- 出力先にフラッシュされるストリーム接頭辞の長さを含むlong
。- 例外:
IOException
- 入出力エラーが発生した場合。
-