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, 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, 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, setBitOffset, setByteOrder, skipBytes, skipBytes
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
- キャッシュファイルを作成できない場合。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 void seek(long pos) throws IOException
EOFException
は読み込みの場合のみスローされます。書き込みが実行されるまで、ファイル長は増加しません。seek
、インタフェース: ImageInputStream
seek
、クラス: ImageInputStreamImpl
pos
- 目的のファイルポインタ位置を示す long
。IndexOutOfBoundsException
- pos
がフラッシュ位置よりも小さい場合。IOException
- その他の入出力エラーが発生した場合。public boolean isCached()
ImageOutputStream
がデータをキャッシュするため、true
が返されます。isCached
、インタフェース: ImageInputStream
isCached
、クラス: ImageInputStreamImpl
true
.isCachedMemory()
, isCachedFile()
public boolean isCachedFile()
ImageOutputStream
はファイルキャッシュを維持するため、true
が返されます。isCachedFile
、インタフェース: ImageInputStream
isCachedFile
、クラス: ImageInputStreamImpl
true
.isCached()
, isCachedMemory()
public boolean isCachedMemory()
ImageOutputStream
はメインメモリーキャッシュを維持しないため、false
が返されます。isCachedMemory
、インタフェース: ImageInputStream
isCachedMemory
、クラス: ImageInputStreamImpl
false
.isCached()
, isCachedFile()
public void close() throws IOException
FileCacheImageOutputStream
を閉じます。保留中のデータはすべて出力にフラッシュされ、キャッシュファイルは閉じられて削除されます。出力先 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, 2013, Oracle and/or its affiliates. All rights reserved.