- すべてのスーパー・インタフェース:
- AutoCloseable,- Closeable,- DataInput,- DataOutput,- ImageInputStream
- 既知のすべての実装クラス:
- FileCacheImageOutputStream,- FileImageOutputStream,- ImageOutputStreamImpl,- MemoryCacheImageOutputStream
public interface ImageOutputStream extends ImageInputStream, DataOutput
ImageWriterで使用されるシーク可能な出力ストリーム・インタフェースです。 OutputStreamやFileなどのさまざまな出力先、および将来の高速な入出力先をこのインタフェースの適切な実装で「ラップ」することで、イメージ入出力APIから使用可能にできます。 
  標準のOutputStreamとは異なり、ImageOutputStreamは対応するImageInputStreamを拡張します。 したがって、書き込まれた形式のままでストリームから読み込むことができます。 同一のシークおよびフラッシュ位置が読み込みと書込みの両方に適用されます。ただし、バイト整列された書込み前のゼロ以外のビット・オフセットに対応するセマンティックスと、バイト整列された読込み前のゼロ以外のビット・オフセットに対応するセマンティックスは必然的に異なります。 バイトを読み込む場合、すべてのビット・オフセットは読み込む前に0に設定され、バイトを書き込む場合、ゼロ以外のビット・オフセットではバイトの残りのビットが0として書き込まれます。 バイト整列された書込みは、次のバイト位置から開始されます。 
- 関連項目:
- ImageInputStream
- 
メソッドのサマリー修飾子と型 メソッド 説明 voidflushBefore(long pos)指定された位置より前のデータをすべて、OutputStreamやFileなどの基本となる出力先にフラッシュします。voidwrite(byte[] b)バイトのシーケンスをストリームの現在位置に書き込みます。voidwrite(byte[] b, int off, int len)バイトのシーケンスをストリームの現在位置に書き込みます。voidwrite(int b)ストリームの現在の位置に1バイト書き込みます。voidwriteBit(int bit)引数の最下位ビットで指定された1ビットを、ストリームの現在のバイト位置の現在のビット・オフセットに書き込みます。voidwriteBits(long bits, int numBits)bits引数の下位numBitsビットのビット・シーケンスを左から右に、ストリームの現在のバイト位置の現在のビット・オフセットに書き込みます。voidwriteBoolean(boolean v)ストリームにboolean値を書き込みます。voidwriteByte(int v)vの下位8ビットをストリームに書き込みます。voidwriteBytes(String s)文字列を出力ストリームに書き込みます。voidwriteChar(int v)このメソッドはwriteShortと同義です。voidwriteChars(char[] c, int off, int len)charのシーケンスをストリームの現在位置に書き込みます。voidwriteChars(String s)文字列を出力ストリームに書き込みます。voidwriteDouble(double v)4バイトで構成されるdouble値を出力ストリームに書き込みます。voidwriteDoubles(double[] d, int off, int len)doubleのシーケンスをストリームの現在位置に書き込みます。voidwriteFloat(float v)4バイトで構成されるfloat値を出力ストリームに書き込みます。voidwriteFloats(float[] f, int off, int len)floatのシーケンスをストリームの現在位置に書き込みます。voidwriteInt(int v)vの32ビットをストリームに書き込みます。voidwriteInts(int[] i, int off, int len)intのシーケンスをストリームの現在位置に書き込みます。voidwriteLong(long v)vの64ビットをストリームに書き込みます。voidwriteLongs(long[] l, int off, int len)longのシーケンスをストリームの現在位置に書き込みます。voidwriteShort(int v)vの下位16ビットをストリームに書き込みます。voidwriteShorts(short[] s, int off, int len)shortのシーケンスをストリームの現在位置に書き込みます。voidwriteUTF(String s)長さ情報の2バイトを、ネットワーク・バイト順で出力ストリームに書き込みます。その後ろには、文字列s内の各文字の 修正UTF-8表現が続きます。インタフェース javax.imageio.stream.ImageInputStreamで宣言されたメソッドclose, flush, getBitOffset, getByteOrder, getFlushedPosition, getStreamPosition, isCached, isCachedFile, isCachedMemory, length, mark, read, read, 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
- 
メソッドの詳細- 
writevoid write(int b) throws IOExceptionストリームの現在の位置に1バイト書き込みます。bの上位24ビットは無視されます。ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。 書込み後は、ビット・オフセットは0です。 実装側は、 ImageOutputStreamImplのflushBitsメソッドを使用してこれを保証できます。- 定義:
- write、インタフェース:- DataOutput
- パラメータ:
- b- 下位8ビットが書き込まれる- int。
- 例外:
- IOException- 入出力エラーが発生した場合。
 
- 
writevoid write(byte[] b) throws IOExceptionバイトのシーケンスをストリームの現在位置に書き込みます。b.lengthが0の場合、何も書き込みません。 バイトb[0]を最初に書き込み、次にバイトb[1]を書き込む、という具合になります。ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。 書込み後は、ビット・オフセットは0です。 - 定義:
- write、インタフェース:- DataOutput
- パラメータ:
- b- 書き込まれる- byte配列。
- 例外:
- NullPointerException-- bが- nullである場合。
- IOException- 入出力エラーが発生した場合。
 
- 
writevoid write(byte[] b, int off, int len) throws IOExceptionバイトのシーケンスをストリームの現在位置に書き込みます。lenが0の場合、何も書き込みません。 バイトb[off]を最初に書き込み、次にバイトb[off+1]を書き込む、という具合になります。ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。 書込み後は、ビット・オフセットは0です。 実装側は、 ImageOutputStreamImplのflushBitsメソッドを使用してこれを保証できます。- 定義:
- write、インタフェース:- DataOutput
- パラメータ:
- b- 書き込まれる- byte配列。
- off- データの開始オフセット。
- len- 書き込む- byte数。
- 例外:
- IndexOutOfBoundsException-- offが負の値の場合、- lenが負の値の場合、または- off+lenが- b.lengthより大きい場合。
- NullPointerException-- bが- nullである場合。
- IOException- 入出力エラーが発生した場合。
 
- 
writeBooleanvoid writeBoolean(boolean v) throws IOExceptionストリームにboolean値を書き込みます。vがtrueの場合は値(byte)1が書き込まれ、vがfalseの場合は値(byte)0が書き込まれます。ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。 書込み後は、ビット・オフセットは0です。 - 定義:
- writeBoolean、インタフェース:- DataOutput
- パラメータ:
- v- 書き込まれる- boolean。
- 例外:
- IOException- 入出力エラーが発生した場合。
 
- 
writeBytevoid writeByte(int v) throws IOExceptionvの下位8ビットをストリームに書き込みます。vの上位24ビットは無視されます。 これはwriteByteが、整数引数のwriteとまったく同じであることを意味します。ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。 書込み後は、ビット・オフセットは0です。 - 定義:
- writeByte、インタフェース:- DataOutput
- パラメータ:
- v- 書き込まれるバイト値を含む- int。
- 例外:
- IOException- 入出力エラーが発生した場合。
 
- 
writeShortvoid writeShort(int v) throws IOExceptionvの下位16ビットをストリームに書き込みます。vの上位16ビットは無視されます。 ストリームでネットワーク・バイト順が使用される場合、書き込まれるバイトの順序は次のとおりです。(byte)((v >> 8) & 0xff) (byte)(v & 0xff) それ以外の場合、次のように書き込まれます。(byte)(v & 0xff) (byte)((v >> 8) & 0xff) ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。 書込み後は、ビット・オフセットは0です。 - 定義:
- writeShort、インタフェース:- DataOutput
- パラメータ:
- v- 書き込まれるshort値を含む- int。
- 例外:
- IOException- 入出力エラーが発生した場合。
 
- 
writeCharvoid writeChar(int v) throws IOExceptionこのメソッドはwriteShortと同義です。- 定義:
- writeChar、インタフェース:- DataOutput
- パラメータ:
- v- 書き込まれるchar (符号なしshort)値を含む- int。
- 例外:
- IOException- 入出力エラーが発生した場合。
- 関連項目:
- writeShort(int)
 
- 
writeIntvoid writeInt(int v) throws IOExceptionvの32ビットをストリームに書き込みます。 ストリームでネットワーク・バイト順が使用される場合、書き込まれるバイトの順序は次のとおりです。(byte)((v >> 24) & 0xff) (byte)((v >> 16) & 0xff) (byte)((v >> 8) & 0xff) (byte)(v & 0xff) それ以外の場合、次のように書き込まれます。(byte)(v & 0xff) (byte)((v >> 8) & 0xff) (byte)((v >> 16) & 0xff) (byte)((v >> 24) & 0xff) ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。 書込み後は、ビット・オフセットは0です。 - 定義:
- writeInt、インタフェース:- DataOutput
- パラメータ:
- v- 書き込まれる値を含む- int。
- 例外:
- IOException- 入出力エラーが発生した場合。
 
- 
writeLongvoid writeLong(long v) throws IOExceptionvの64ビットをストリームに書き込みます。 ストリームでネットワーク・バイト順が使用される場合、書き込まれるバイトの順序は次のとおりです。(byte)((v >> 56) & 0xff) (byte)((v >> 48) & 0xff) (byte)((v >> 40) & 0xff) (byte)((v >> 32) & 0xff) (byte)((v >> 24) & 0xff) (byte)((v >> 16) & 0xff) (byte)((v >> 8) & 0xff) (byte)(v & 0xff) それ以外の場合、次のように書き込まれます。(byte)(v & 0xff) (byte)((v >> 8) & 0xff) (byte)((v >> 16) & 0xff) (byte)((v >> 24) & 0xff) (byte)((v >> 32) & 0xff) (byte)((v >> 40) & 0xff) (byte)((v >> 48) & 0xff) (byte)((v >> 56) & 0xff) ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。 書込み後は、ビット・オフセットは0です。 - 定義:
- writeLong、インタフェース:- DataOutput
- パラメータ:
- v- 書き込まれる値を含む- long。
- 例外:
- IOException- 入出力エラーが発生した場合。
 
- 
writeFloatvoid writeFloat(float v) throws IOException4バイトで構成されるfloat値を出力ストリームに書き込みます。 これは、最初にこのfloat値をFloat.floatToIntBitsメソッドと同じ方法でintに変換し、その後int値をwriteIntメソッドと同じ方法で書き込むようにして行われます。ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。 書込み後は、ビット・オフセットは0です。 - 定義:
- writeFloat、インタフェース:- DataOutput
- パラメータ:
- v- 書き込まれる値を含む- float。
- 例外:
- IOException- 入出力エラーが発生した場合。
 
- 
writeDoublevoid writeDouble(double v) throws IOException4バイトで構成されるdouble値を出力ストリームに書き込みます。 これは、Double.doubleToLongBitsメソッドの方法とまったく同じ方法で、このdouble値を最初にlongに変換し、writeLongメソッドとまったく同じ方法でlong値を書き込むかのように行います。ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。 書込み後は、ビット・オフセットは0です。 - 定義:
- writeDouble、インタフェース:- DataOutput
- パラメータ:
- v- 書き込まれる値を含む- double。
- 例外:
- IOException- 入出力エラーが発生した場合。
 
- 
writeBytesvoid writeBytes(String s) throws IOException文字列を出力ストリームに書き込みます。 文字列sの各文字が順番に取り出され、1バイトが出力ストリームに書き込まれます。sがnullの場合、NullPointerExceptionがスローされます。s.lengthがゼロの場合、バイトは書き込まれません。 それ以外の場合は、最初に文字s[0]が書き込まれ、次にs[1]という具合に続き、最後に書き込まれる文字はs[s.length-1]になります。 各文字については、writeByteメソッドとまったく同じ方法で、1バイト、つまり下位バイトが書き込まれます。 文字列内の各文字の上位8ビットは無視されます。ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。 書込み後は、ビット・オフセットは0です。 - 定義:
- writeBytes、インタフェース:- DataOutput
- パラメータ:
- s- 書き込まれる値を含む- String。
- 例外:
- NullPointerException-- sが- nullの場合。
- IOException- 入出力エラーが発生した場合。
 
- 
writeCharsvoid writeChars(String s) throws IOException文字列を出力ストリームに書き込みます。 文字列sの各文字が、順番に取り出され、現在のバイト順の設定に従った順序で、2バイトが出力ストリームに書き込まれます。 ネットワーク・バイト順が使用されると高位バイトが最初に書き込まれ、そうでない場合は逆になります。sがnullの場合、NullPointerExceptionがスローされます。s.lengthがゼロの場合、バイトは書き込まれません。 それ以外の場合は、最初に文字s[0]が書き込まれ、次にs[1]という具合に続き、最後に書き込まれる文字はs[s.length-1]になります。ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。 書込み後は、ビット・オフセットは0です。 - 定義:
- writeChars、インタフェース:- DataOutput
- パラメータ:
- s- 書き込まれる値を含む- String。
- 例外:
- NullPointerException-- sが- nullの場合。
- IOException- 入出力エラーが発生した場合。
 
- 
writeUTFvoid writeUTF(String s) throws IOException長さ情報の2バイトを、ネットワーク・バイト順で出力ストリームに書き込みます。その後ろには、文字列s内の各文字の 修正UTF-8表現が続きます。sがnullの場合、NullPointerExceptionがスローされます。 文字列s内の各文字は、文字の値に基づいて、1、2、または3バイトのグループに変換されます。文字 cが\u0001-\u007fの範囲にある場合、次のような1バイトで表現されます。(byte)c 文字 cが\u0000の場合や、\u0080-\u07ffの範囲にある場合には、次の順序で書き込まれる2バイトによって表されます。(byte)(0xc0 | (0x1f & (c >> 6))) (byte)(0x80 | (0x3f & c))文字 cが\u0800-uffffの範囲にある場合、次の順序で書き込まれる3バイトによって表されます。(byte)(0xe0 | (0x0f & (c >> 12))) (byte)(0x80 | (0x3f & (c >> 6))) (byte)(0x80 | (0x3f & c))まず、 sのすべての文字を表すのに必要な総バイト数が計算されます。 この数値が65535を超える場合は、UTFDataFormatExceptionがスローされます。 それ以外の場合は、この長さがwriteShortメソッドとまったく同じ方法で出力ストリームに書き込まれます。次に、文字列s内の各文字の1、2、または3バイト表現が書き込まれます。現在のバイト順の設定は無視されます。 ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。 書込み後は、ビット・オフセットは0です。 ノート: ここで使用される修正UTF-8は標準UTF-8と互換性がありません。このため、標準UTF-8を使用するイメージ形式の実装ではこのメソッドを使用しないでください。 - 定義:
- writeUTF、インタフェース:- DataOutput
- パラメータ:
- s- 書き込まれる値を含む- String。
- 例外:
- NullPointerException-- sが- nullの場合。
- UTFDataFormatException-- sの修正UTF-8表現に65536を超えるバイトが必要な場合。
- IOException- 入出力エラーが発生した場合。
 
- 
writeShortsvoid writeShorts(short[] s, int off, int len) throws IOExceptionshortのシーケンスをストリームの現在位置に書き込みます。lenが0の場合、何も書き込みません。 最初にshorts[off]、次にshorts[off+1]、という順序で書込みが行われます。 ストリームのバイト順を使用して、個々のバイトを書き込む順番が決定されます。ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。 書込み後は、ビット・オフセットは0です。 - パラメータ:
- s- 書き込まれる- short配列。
- off- データの開始オフセット。
- len- 書き込む- short数。
- 例外:
- IndexOutOfBoundsException-- offが負の値の場合、- lenが負の値の場合、または- off+lenが- s.lengthより大きい場合。
- NullPointerException-- sが- nullの場合。
- IOException- 入出力エラーが発生した場合。
 
- 
writeCharsvoid writeChars(char[] c, int off, int len) throws IOExceptioncharのシーケンスをストリームの現在位置に書き込みます。lenが0の場合、何も書き込みません。 最初にcharc[off]、次にcharc[off+1]、という順序で書込みが行われます。 ストリームのバイト順を使用して、個々のバイトを書き込む順番が決定されます。ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。 書込み後は、ビット・オフセットは0です。 - パラメータ:
- c- 書き込まれる- char配列。
- off- データの開始オフセット。
- len- 書き込む- char数。
- 例外:
- IndexOutOfBoundsException-- offが負の値の場合、- lenが負の値の場合、または- off+lenが- c.lengthより大きい場合。
- NullPointerException-- cが- nullの場合。
- IOException- 入出力エラーが発生した場合。
 
- 
writeIntsvoid writeInts(int[] i, int off, int len) throws IOExceptionintのシーケンスをストリームの現在位置に書き込みます。lenが0の場合、何も書き込みません。 最初にinti[off]、次にinti[off+1]、という順序で書込みが行われます。 ストリームのバイト順を使用して、個々のバイトを書き込む順番が決定されます。ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。 書込み後は、ビット・オフセットは0です。 - パラメータ:
- i- 書き込まれる- int配列。
- off- データの開始オフセット。
- len- 書き込む- int数。
- 例外:
- IndexOutOfBoundsException-- offが負の値の場合、- lenが負の値の場合、または- off+lenが- i.lengthより大きい場合。
- NullPointerException-- iが- nullの場合。
- IOException- 入出力エラーが発生した場合。
 
- 
writeLongsvoid writeLongs(long[] l, int off, int len) throws IOExceptionlongのシーケンスをストリームの現在位置に書き込みます。lenが0の場合、何も書き込みません。 最初にlongl[off]、次にlongl[off+1]、という順序で書込みが行われます。 ストリームのバイト順を使用して、個々のバイトを書き込む順番が決定されます。ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。 書込み後は、ビット・オフセットは0です。 - パラメータ:
- l- 書き込まれる- long配列。
- off- データの開始オフセット。
- len- 書き込む- long数。
- 例外:
- IndexOutOfBoundsException-- offが負の値の場合、- lenが負の値の場合、または- off+lenが- l.lengthより大きい場合。
- NullPointerException-- lが- nullの場合。
- IOException- 入出力エラーが発生した場合。
 
- 
writeFloatsvoid writeFloats(float[] f, int off, int len) throws IOExceptionfloatのシーケンスをストリームの現在位置に書き込みます。lenが0の場合、何も書き込みません。 最初にfloatf[off]、次にfloatf[off+1]、という順序で書込みが行われます。 ストリームのバイト順を使用して、個々のバイトを書き込む順番が決定されます。ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。 書込み後は、ビット・オフセットは0です。 - パラメータ:
- f- 書き込まれる- float配列。
- off- データの開始オフセット。
- len- 書き込む- float数。
- 例外:
- IndexOutOfBoundsException-- offが負の値の場合、- lenが負の値の場合、または- off+lenが- f.lengthより大きい場合。
- NullPointerException-- fが- nullの場合。
- IOException- 入出力エラーが発生した場合。
 
- 
writeDoublesvoid writeDoubles(double[] d, int off, int len) throws IOExceptiondoubleのシーケンスをストリームの現在位置に書き込みます。lenが0の場合、何も書き込みません。 最初にdoubled[off]、次にdoubled[off+1]、という順序で書込みが行われます。 ストリームのバイト順を使用して、個々のバイトを書き込む順番が決定されます。ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。 書込み後は、ビット・オフセットは0です。 - パラメータ:
- d- 書き込まれる- doubles配列。
- off- データの開始オフセット。
- len- 書き込む- double数。
- 例外:
- IndexOutOfBoundsException-- offが負の値の場合、- lenが負の値の場合、または- off+lenが- d.lengthより大きい場合。
- NullPointerException-- dが- nullの場合。
- IOException- 入出力エラーが発生した場合。
 
- 
writeBitvoid writeBit(int bit) throws IOException引数の最下位ビットで指定された1ビットを、ストリームの現在のバイト位置の現在のビット・オフセットに書き込みます。 引数の上位31ビットは無視されます。 指定されたビットにより、その位置にあった以前のビットは置換されます。 ビット・オフセットは1ずつ増加し、8を法として減分します。特定のバイトの任意のビットが、バイトが出力先にフラッシュされる時点で設定されていなかった場合、これらのビットは自動的に0に設定されます。 - パラメータ:
- bit- その最下位ビットがストリームに書き込まれる- int。
- 例外:
- IOException- 入出力エラーが発生した場合。
 
- 
writeBitsvoid writeBits(long bits, int numBits) throws IOExceptionbits引数の下位numBitsビットのビット・シーケンスを左から右に、ストリームの現在のバイト位置の現在のビット・オフセットに書き込みます。 引数の上位64 - numBitsビットは無視されます。 ビット・オフセットはnumBitsだけ増加し、8を法として減分します。 ビット・オフセット0は常にバイトの最高位ビットを示し、ビットのバイトは検出された順番に書き込まれます。 したがってビットの書込みは、事実上常にネットワーク・バイト順です。 実際のストリーム・バイト順の設定は無視されます。ビット・データは、 flushBeforeが呼び出されるまでメモリーに無限に蓄積されます。 呼び出された時点で、フラッシュ位置より前のビット・データがすべて書き込まれます。特定のバイトの任意のビットが、バイトが出力先にフラッシュされる時点で設定されていなかった場合、これらのビットは自動的に0に設定されます。 - パラメータ:
- bits- ビット位置- numBits - 1から最下位ビットまでが書き込まれるビットを含む- long。
- numBits- 0から64までの- int。
- 例外:
- IllegalArgumentException-- numBitsが0から64の範囲内にない場合。
- IOException- 入出力エラーが発生した場合。
 
- 
flushBeforevoid flushBefore(long pos) throws IOException指定された位置より前のデータをすべて、OutputStreamやFileなどの基本となる出力先にフラッシュします。 ストリームのフラッシュ部分にシークするとIndexOutOfBoundsExceptionがスローされます。- 定義:
- flushBefore、インタフェース:- ImageInputStream
- パラメータ:
- pos- 出力先にフラッシュされるストリーム接頭辞の長さを含む- long。
- 例外:
- IndexOutOfBoundsException-- posがストリームのフラッシュ部分にあるか、または現在のストリーム位置を通過した場合。
- IOException- 入出力エラーが発生した場合。
 
 
-