JavaTM 2 Platform
Standard Ed. 5.0

javax.imageio.stream
クラス FileCacheImageOutputStream

java.lang.Object
  上位を拡張 javax.imageio.stream.ImageInputStreamImpl
      上位を拡張 javax.imageio.stream.ImageOutputStreamImpl
          上位を拡張 javax.imageio.stream.FileCacheImageOutputStream
すべての実装されたインタフェース:
DataInput, DataOutput, 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()
          この FileCacheImageOututStream を閉じます。
 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 read(byte[] b, int off, int len)
          ストリームから len バイトまで読み込み、b にインデックス off から格納します。
 void seek(long pos)
          現在のストリーム位置を設定してビットオフセットを 0 にリセットします。
 void write(byte[] b, int off, int len)
          配列 b から len バイトを順番に出力ストリームに書き込みます。
 void write(int b)
          引数 b の下位 8 ビットを出力ストリームに書き込みます。
 
クラス 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, 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
 
クラス 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 を構築します。

一時ファイルがキャッシュとして使用されます。cacheDirnull ではなく、ディレクトリである場合、ファイルがそこに作成されます。null の場合、システム固有のデフォルト一時ファイルディレクトリが使用されます。詳細は File.createTempFile のドキュメントを参照してください。

パラメータ:
stream - 書き込み先の OutputStream
cacheDir - キャッシュファイルが作成される場所を示す File。システムディレクトリを使用する場合は null
例外:
IllegalArgumentException - streamnull の場合
IllegalArgumentException - cacheDirnull ではなく、ディレクトリでもない場合
IOException - キャッシュファイルを作成できない場合
メソッドの詳細

read

public int read()
         throws IOException
インタフェース ImageInputStream の記述:
ストリームから 1 バイトを読み込み、それを 0 から 255 までの整数として返します。ストリームの終わりに達すると -1 を返します。

ストリーム内のビットオフセットは、読み込みを行う前に 0 にリセットされます。

定義:
インタフェース ImageInputStream 内の read
定義:
クラス ImageInputStreamImpl 内の read
戻り値:
ストリームからのバイト値 (int)、または -1 (EOF を示す)
例外:
IOException - 入出力エラーが発生した場合

read

public int read(byte[] b,
                int off,
                int len)
         throws IOException
クラス ImageInputStreamImpl の記述:
ストリームから len バイトまで読み込み、b にインデックス off から格納します。読み込んだバイト数を返します。ストリームの終りに達したためにバイトを読み込めない場合は、-1 を返します。

ストリーム内のビットオフセットは、読み込みを行う前に 0 にリセットする必要があります。

サブクラスでこのメソッドを実装する必要があります。サブクラス実装で終了する前にストリーム位置を更新します。

定義:
インタフェース ImageInputStream 内の read
定義:
クラス ImageInputStreamImpl 内の read
パラメータ:
b - 書き込まれるバイト配列
off - 書き込み先の b 内の開始位置
len - 読み込む最大バイト数
戻り値:
実際に読み込まれたバイト数、または EOF を示す -1
例外:
IOException - 入出力エラーが発生した場合

write

public void write(int b)
           throws IOException
インタフェース DataOutput の記述:
引数 b の下位 8 ビットを出力ストリームに書き込みます。b の上位 24 ビットについては無視されます。

定義:
インタフェース DataOutput 内の write
定義:
インタフェース ImageOutputStream 内の write
定義:
クラス ImageOutputStreamImpl 内の write
パラメータ:
b - 書き込むバイト
例外:
IOException - 入出力エラーが発生した場合

write

public void write(byte[] b,
                  int off,
                  int len)
           throws IOException
インタフェース DataOutput の記述:
配列 b から len バイトを順番に出力ストリームに書き込みます。bnull の場合は、NullPointerException がスローされます。off が負の値の場合、len が負の値の場合、あるいは off+len が配列 b の長さより大きい場合には、IndexOutOfBoundsException がスローされます。len がゼロの場合、書き込まれるバイトはありません。そうでない場合は、まずバイト b[off]、次に b[off+1] と順次書き込まれ、最後にバイト b[off+len-1] が書き込まれます。

定義:
インタフェース DataOutput 内の write
定義:
インタフェース ImageOutputStream 内の write
定義:
クラス ImageOutputStreamImpl 内の write
パラメータ:
b - データ
off - データの開始オフセット
len - 書き込むバイト数
例外:
IOException - 入出力エラーが発生した場合

length

public long length()
クラス ImageInputStreamImpl の記述:
ストリームが未知の長さであることを示す -1L を返します。サブクラスでこのメソッドをオーバーライドして、実際の長さの情報を指定する必要があります。

定義:
インタフェース ImageInputStream 内の length
オーバーライド:
クラス ImageInputStreamImpl 内の length
戻り値:
未知の長さを示す -1L

seek

public void seek(long pos)
          throws IOException
現在のストリーム位置を設定してビットオフセットを 0 にリセットします。シークでファイルの終りを通過することは正常で、EOFException は読み込みの場合にのみスローされます。書き込みが実行されるまで、ファイル長は増加しません。

定義:
インタフェース ImageInputStream 内の seek
オーバーライド:
クラス ImageInputStreamImpl 内の seek
パラメータ:
pos - 目的のファイルポインタ位置を示す long
例外:
IndexOutOfBoundsException - pos がフラッシュ位置よりも小さい場合
IOException - その他の入出力エラーが発生した場合

isCached

public boolean isCached()
後方へのシークを可能にするために、この ImageOutputStream がデータをキャッシュするため、true が返されます。

定義:
インタフェース ImageInputStream 内の isCached
オーバーライド:
クラス ImageInputStreamImpl 内の isCached
戻り値:
true
関連項目:
isCachedMemory(), isCachedFile()

isCachedFile

public boolean isCachedFile()
この ImageOutputStream はファイルキャッシュを維持するため、true が返されます。

定義:
インタフェース ImageInputStream 内の isCachedFile
オーバーライド:
クラス ImageInputStreamImpl 内の isCachedFile
戻り値:
true
関連項目:
isCached(), isCachedMemory()

isCachedMemory

public boolean isCachedMemory()
この ImageOutputStream はメインメモリキャッシュを維持しないため、false が返されます。

定義:
インタフェース ImageInputStream 内の isCachedMemory
オーバーライド:
クラス ImageInputStreamImpl 内の isCachedMemory
戻り値:
false
関連項目:
isCached(), isCachedFile()

close

public void close()
           throws IOException
この FileCacheImageOututStream を閉じます。保留中のデータはすべて出力にフラッシュされ、キャッシュファイルは閉じられて削除されます。出力先 OutputStream は閉じられません。

定義:
インタフェース ImageInputStream 内の close
オーバーライド:
クラス ImageInputStreamImpl 内の close
例外:
IOException - エラーが発生した場合

flushBefore

public void flushBefore(long pos)
                 throws IOException
インタフェース ImageInputStream の記述:
指示された位置より前の初期のストリーム部分を破棄します。ストリームのフラッシュされた部分内のオフセットにシークしようとすると、IndexOutOfBoundsException がスローされます。

flushBefore を呼び出すと、このインタフェースを実装するクラスが、ストリームからデータを格納するのに使用するメモリやディスクスペースなどのリソースを解放できます。

定義:
インタフェース ImageInputStream 内の flushBefore
定義:
インタフェース ImageOutputStream 内の flushBefore
オーバーライド:
クラス ImageInputStreamImpl 内の flushBefore
パラメータ:
pos - フラッシュされるファイル接頭辞の長さを示す long
例外:
IOException - 入出力エラーが発生した場合

JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。