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

クラスImageOutputStreamImpl

java.lang.Object
javax.imageio.stream.ImageInputStreamImpl
javax.imageio.stream.ImageOutputStreamImpl
すべての実装されたインタフェース:
Closeable, DataInput, DataOutput, AutoCloseable, ImageInputStream, ImageOutputStream
直系の既知のサブクラス:
FileCacheImageOutputStream, FileImageOutputStream, MemoryCacheImageOutputStream

public abstract class ImageOutputStreamImpl extends ImageInputStreamImpl implements ImageOutputStream
ImageOutputStreamインタフェースを実装する抽象クラスです。 このクラスの目的は、サブクラスで実装する必要のあるメソッドの数を減らすことです。
  • コンストラクタの詳細

    • ImageOutputStreamImpl

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

    • 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 - 入出力エラーが発生した場合。
    • 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 - 入出力エラーが発生した場合。
    • writeChar

      public void writeChar(int v) throws IOException
      インタフェースからコピーされた説明: ImageOutputStream
      このメソッドはwriteShortと同義です。
      定義:
      writeChar、インタフェース: DataOutput
      定義:
      writeChar、インタフェース: ImageOutputStream
      パラメータ:
      v - 書き込まれるchar (符号なしshort)値を含むint
      例外:
      IOException - 入出力エラーが発生した場合。
      関連項目:
      ImageOutputStream.writeShort(int)
    • 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 - 入出力エラーが発生した場合。