モジュール java.desktop
パッケージ javax.imageio.stream

クラスImageOutputStreamImpl

    • コンストラクタの詳細

      • ImageOutputStreamImpl

        public ImageOutputStreamImpl​()
        ImageOutputStreamImplを構築します。
    • メソッドの詳細

      • write

        public abstract void write​(int b)
                            throws IOException
        インタフェースからコピーされた説明: ImageOutputStream
        ストリームの現在の位置に1バイト書き込みます。 bの上位24ビットは無視されます。

        ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。 書込み後は、ビット・オフセットは0です。 実装側は、ImageOutputStreamImplflushBitsメソッドを使用してこれを保証できます。

        定義:
        write、インタフェース: DataOutput
        定義:
        write、インタフェース: ImageOutputStream
        パラメータ:
        b - 下位8ビットが書き込まれるint
        例外:
        IOException - 入出力エラーが発生した場合。
      • write

        public void write​(byte[] b)
                   throws IOException
        インタフェースからコピーされた説明: ImageOutputStream
        バイトのシーケンスをストリームの現在位置に書き込みます。 b.lengthが0の場合、何も書き込みません。 バイトb[0]を最初に書き込み、次にバイトb[1]を書き込む、という具合になります。

        ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。 書込み後は、ビット・オフセットは0です。

        定義:
        write、インタフェース: DataOutput
        定義:
        write、インタフェース: ImageOutputStream
        パラメータ:
        b - 書き込まれるbyte配列。
        例外:
        IOException - 入出力エラーが発生した場合。
      • write

        public abstract void write​(byte[] b,
                                   int off,
                                   int len)
                            throws IOException
        インタフェースからコピーされた説明: ImageOutputStream
        バイトのシーケンスをストリームの現在位置に書き込みます。 lenが0の場合、何も書き込みません。 バイトb[off]を最初に書き込み、次にバイトb[off+1]を書き込む、という具合になります。

        ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。 書込み後は、ビット・オフセットは0です。 実装側は、ImageOutputStreamImplflushBitsメソッドを使用してこれを保証できます。

        定義:
        write、インタフェース: DataOutput
        定義:
        write、インタフェース: ImageOutputStream
        パラメータ:
        b - 書き込まれるbyte配列。
        off - データの開始オフセット。
        len - 書き込むbyte数。
        例外:
        IOException - 入出力エラーが発生した場合。
      • writeBoolean

        public void writeBoolean​(boolean v)
                          throws IOException
        インタフェースからコピーされた説明: ImageOutputStream
        ストリームにboolean値を書き込みます。 vがtrueの場合は値(byte)1が書き込まれ、vがfalseの場合は値(byte)0が書き込まれます。

        ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。 書込み後は、ビット・オフセットは0です。

        定義:
        writeBoolean、インタフェース: DataOutput
        定義:
        writeBoolean、インタフェース: ImageOutputStream
        パラメータ:
        v - 書き込まれるboolean
        例外:
        IOException - 入出力エラーが発生した場合。
      • writeByte

        public void writeByte​(int v)
                       throws IOException
        インタフェースからコピーされた説明: ImageOutputStream
        vの下位8ビットをストリームに書き込みます。 vの上位24ビットは無視されます。 これはwriteByteが、整数引数のwriteとまったく同じであることを意味します。

        ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。 書込み後は、ビット・オフセットは0です。

        定義:
        writeByte、インタフェース: DataOutput
        定義:
        writeByte、インタフェース: ImageOutputStream
        パラメータ:
        v - 書き込まれるバイト値を含むint
        例外:
        IOException - 入出力エラーが発生した場合。
      • writeShort

        public void writeShort​(int v)
                        throws IOException
        インタフェースからコピーされた説明: ImageOutputStream
        vの下位16ビットをストリームに書き込みます。 vの上位16ビットは無視されます。 ストリームでネットワーク・バイト順が使用される場合、書き込まれるバイトの順序は次のとおりです。
         (byte)((v >> 8) & 0xff)
         (byte)(v & 0xff)
         
        それ以外の場合、次のように書き込まれます。
         (byte)(v & 0xff)
         (byte)((v >> 8) & 0xff)
         

        ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。 書込み後は、ビット・オフセットは0です。

        定義:
        writeShort、インタフェース: DataOutput
        定義:
        writeShort、インタフェース: ImageOutputStream
        パラメータ:
        v - 書き込まれるshort値を含むint
        例外:
        IOException - 入出力エラーが発生した場合。
      • writeInt

        public void writeInt​(int v)
                      throws IOException
        インタフェースからコピーされた説明: ImageOutputStream
        vの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
        定義:
        writeInt、インタフェース: ImageOutputStream
        パラメータ:
        v - 書き込まれる値を含むint
        例外:
        IOException - 入出力エラーが発生した場合。
      • writeLong

        public void writeLong​(long v)
                       throws IOException
        インタフェースからコピーされた説明: ImageOutputStream
        vの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
        定義:
        writeLong、インタフェース: ImageOutputStream
        パラメータ:
        v - 書き込まれる値を含むlong
        例外:
        IOException - 入出力エラーが発生した場合。
      • writeFloat

        public void writeFloat​(float v)
                        throws IOException
        インタフェースからコピーされた説明: ImageOutputStream
        4バイトで構成されるfloat値を出力ストリームに書き込みます。 これは、最初にこのfloat値をFloat.floatToIntBitsメソッドと同じ方法でintに変換し、その後int値をwriteIntメソッドと同じ方法で書き込むようにして行われます。

        ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。 書込み後は、ビット・オフセットは0です。

        定義:
        writeFloat、インタフェース: DataOutput
        定義:
        writeFloat、インタフェース: ImageOutputStream
        パラメータ:
        v - 書き込まれる値を含むfloat
        例外:
        IOException - 入出力エラーが発生した場合。
      • writeDouble

        public void writeDouble​(double v)
                         throws IOException
        インタフェースからコピーされた説明: ImageOutputStream
        4バイトで構成されるdouble値を出力ストリームに書き込みます。 これは、Double.doubleToLongBitsメソッドの方法とまったく同じ方法で、このdouble値を最初にlongに変換し、writeLongメソッドとまったく同じ方法でlong値を書き込むかのように行います。

        ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。 書込み後は、ビット・オフセットは0です。

        定義:
        writeDouble、インタフェース: DataOutput
        定義:
        writeDouble、インタフェース: ImageOutputStream
        パラメータ:
        v - 書き込まれる値を含むdouble
        例外:
        IOException - 入出力エラーが発生した場合。
      • writeBytes

        public void writeBytes​(String s)
                        throws IOException
        インタフェースからコピーされた説明: ImageOutputStream
        文字列を出力ストリームに書き込みます。 文字列sの各文字が順番に取り出され、1バイトが出力ストリームに書き込まれます。 snullの場合、NullPointerExceptionがスローされます。

        s.lengthがゼロの場合、バイトは書き込まれません。 それ以外の場合は、最初に文字s[0]が書き込まれ、次にs[1]という具合に続き、最後に書き込まれる文字はs[s.length-1]になります。 各文字については、writeByteメソッドとまったく同じ方法で、1バイト、つまり下位バイトが書き込まれます。 文字列内の各文字の上位8ビットは無視されます。

        ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。 書込み後は、ビット・オフセットは0です。

        定義:
        writeBytes、インタフェース: DataOutput
        定義:
        writeBytes、インタフェース: ImageOutputStream
        パラメータ:
        s - 書き込まれる値を含むString
        例外:
        IOException - 入出力エラーが発生した場合。
      • writeChars

        public void writeChars​(String s)
                        throws IOException
        インタフェースからコピーされた説明: ImageOutputStream
        文字列を出力ストリームに書き込みます。 文字列sの各文字が、順番に取り出され、現在のバイト順の設定に従った順序で、2バイトが出力ストリームに書き込まれます。 ネットワーク・バイト順が使用されると高位バイトが最初に書き込まれ、そうでない場合は逆になります。 snullの場合、NullPointerExceptionがスローされます。

        s.lengthがゼロの場合、バイトは書き込まれません。 それ以外の場合は、最初に文字s[0]が書き込まれ、次にs[1]という具合に続き、最後に書き込まれる文字はs[s.length-1]になります。

        ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。 書込み後は、ビット・オフセットは0です。

        定義:
        writeChars、インタフェース: DataOutput
        定義:
        writeChars、インタフェース: ImageOutputStream
        パラメータ:
        s - 書き込まれる値を含むString
        例外:
        IOException - 入出力エラーが発生した場合。
      • writeUTF

        public void writeUTF​(String s)
                      throws IOException
        インタフェースからコピーされた説明: ImageOutputStream
        長さ情報の2バイトを、ネットワーク・バイト順で出力ストリームに書き込みます。その後ろには、文字列s内の各文字の修正UTF-8表現が続きます。 snullの場合、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
        定義:
        writeUTF、インタフェース: ImageOutputStream
        パラメータ:
        s - 書き込まれる値を含むString
        例外:
        UTFDataFormatException - sの修正UTF-8表現に65536を超えるバイトが必要な場合。
        IOException - 入出力エラーが発生した場合。
      • writeShorts

        public void writeShorts​(short[] s,
                                int off,
                                int len)
                         throws IOException
        インタフェースからコピーされた説明: ImageOutputStream
        shortのシーケンスをストリームの現在位置に書き込みます。 lenが0の場合、何も書き込みません。 最初にshort s[off]、次にshort s[off+1]、という順序で書込みが行われます。 ストリームのバイト順を使用して、個々のバイトを書き込む順番が決定されます。

        ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。 書込み後は、ビット・オフセットは0です。

        定義:
        writeShorts、インタフェース: ImageOutputStream
        パラメータ:
        s - 書き込まれるshort配列。
        off - データの開始オフセット。
        len - 書き込むshort数。
        例外:
        IOException - 入出力エラーが発生した場合。
      • writeChars

        public void writeChars​(char[] c,
                               int off,
                               int len)
                        throws IOException
        インタフェースからコピーされた説明: ImageOutputStream
        charのシーケンスをストリームの現在位置に書き込みます。 lenが0の場合、何も書き込みません。 最初にchar c[off]、次にchar c[off+1]、という順序で書込みが行われます。 ストリームのバイト順を使用して、個々のバイトを書き込む順番が決定されます。

        ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。 書込み後は、ビット・オフセットは0です。

        定義:
        writeChars、インタフェース: ImageOutputStream
        パラメータ:
        c - 書き込まれるchar配列。
        off - データの開始オフセット。
        len - 書き込むchar数。
        例外:
        IOException - 入出力エラーが発生した場合。
      • writeInts

        public void writeInts​(int[] i,
                              int off,
                              int len)
                       throws IOException
        インタフェースからコピーされた説明: ImageOutputStream
        intのシーケンスをストリームの現在位置に書き込みます。 lenが0の場合、何も書き込みません。 最初にint i[off]、次にint i[off+1]、という順序で書込みが行われます。 ストリームのバイト順を使用して、個々のバイトを書き込む順番が決定されます。

        ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。 書込み後は、ビット・オフセットは0です。

        定義:
        writeInts、インタフェース: ImageOutputStream
        パラメータ:
        i - 書き込まれるint配列。
        off - データの開始オフセット。
        len - 書き込むint数。
        例外:
        IOException - 入出力エラーが発生した場合。
      • writeLongs

        public void writeLongs​(long[] l,
                               int off,
                               int len)
                        throws IOException
        インタフェースからコピーされた説明: ImageOutputStream
        longのシーケンスをストリームの現在位置に書き込みます。 lenが0の場合、何も書き込みません。 最初にlong l[off]、次にlong l[off+1]、という順序で書込みが行われます。 ストリームのバイト順を使用して、個々のバイトを書き込む順番が決定されます。

        ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。 書込み後は、ビット・オフセットは0です。

        定義:
        writeLongs、インタフェース: ImageOutputStream
        パラメータ:
        l - 書き込まれるlong配列。
        off - データの開始オフセット。
        len - 書き込むlong数。
        例外:
        IOException - 入出力エラーが発生した場合。
      • writeFloats

        public void writeFloats​(float[] f,
                                int off,
                                int len)
                         throws IOException
        インタフェースからコピーされた説明: ImageOutputStream
        floatのシーケンスをストリームの現在位置に書き込みます。 lenが0の場合、何も書き込みません。 最初にfloat f[off]、次にfloat f[off+1]、という順序で書込みが行われます。 ストリームのバイト順を使用して、個々のバイトを書き込む順番が決定されます。

        ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。 書込み後は、ビット・オフセットは0です。

        定義:
        writeFloats、インタフェース: ImageOutputStream
        パラメータ:
        f - 書き込まれるfloat配列。
        off - データの開始オフセット。
        len - 書き込むfloat数。
        例外:
        IOException - 入出力エラーが発生した場合。
      • writeDoubles

        public void writeDoubles​(double[] d,
                                 int off,
                                 int len)
                          throws IOException
        インタフェースからコピーされた説明: ImageOutputStream
        doubleのシーケンスをストリームの現在位置に書き込みます。 lenが0の場合、何も書き込みません。 最初にdouble d[off]、次にdouble d[off+1]、という順序で書込みが行われます。 ストリームのバイト順を使用して、個々のバイトを書き込む順番が決定されます。

        ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。 書込み後は、ビット・オフセットは0です。

        定義:
        writeDoubles、インタフェース: ImageOutputStream
        パラメータ:
        d - 書き込まれるdoubles配列。
        off - データの開始オフセット。
        len - 書き込むdouble数。
        例外:
        IOException - 入出力エラーが発生した場合。
      • writeBit

        public void writeBit​(int bit)
                      throws IOException
        インタフェースからコピーされた説明: ImageOutputStream
        引数の最下位ビットで指定された1ビットを、ストリームの現在のバイト位置の現在のビット・オフセットに書き込みます。 引数の上位31ビットは無視されます。 指定されたビットにより、その位置にあった以前のビットは置換されます。 ビット・オフセットは1ずつ増加し、8を法として減分します。

        特定のバイトの任意のビットが、バイトが出力先にフラッシュされる時点で設定されていなかった場合、これらのビットは自動的に0に設定されます。

        定義:
        writeBit、インタフェース: ImageOutputStream
        パラメータ:
        bit - その最下位ビットがストリームに書き込まれるint
        例外:
        IOException - 入出力エラーが発生した場合。
      • writeBits

        public void writeBits​(long bits,
                              int numBits)
                       throws IOException
        インタフェースからコピーされた説明: ImageOutputStream
        bits引数の下位numBitsビットのビット・シーケンスを左から右に、ストリームの現在のバイト位置の現在のビット・オフセットに書き込みます。 引数の上位64 - numBitsビットは無視されます。 ビット・オフセットはnumBitsだけ増加し、8を法として減分します。 ビット・オフセット0は常にバイトの最高位ビットを示し、ビットのバイトは検出された順番に書き込まれます。 したがってビットの書込みは、事実上常にネットワーク・バイト順です。 実際のストリーム・バイト順の設定は無視されます。

        ビット・データは、flushBeforeが呼び出されるまでメモリーに無限に蓄積されます。 呼び出された時点で、フラッシュ位置より前のビット・データがすべて書き込まれます。

        特定のバイトの任意のビットが、バイトが出力先にフラッシュされる時点で設定されていなかった場合、これらのビットは自動的に0に設定されます。

        定義:
        writeBits、インタフェース: ImageOutputStream
        パラメータ:
        bits - ビット位置numBits - 1から最下位ビットまでが書き込まれるビットを含むlong
        numBits - 0から64までのint
        例外:
        IOException - 入出力エラーが発生した場合。
      • flushBits

        protected final void flushBits​()
                                throws IOException
        ビット・オフセットがゼロでない場合、現在のバイトの残りのビットを強制的に0にして、ストリーム位置を1だけ増加します。 サブクラスは、write(int)およびwrite(byte[], int, int)メソッドの先頭でこのメソッドを呼び出す必要があります。
        例外:
        IOException - 入出力エラーが発生した場合。