public abstract class ImageOutputStreamImpl extends ImageInputStreamImpl implements ImageOutputStream
ImageOutputStream
インタフェースを実装する抽象クラスです。このクラスの目的は、サブクラスで実装する必要のあるメソッドの数を減らすことです。bitOffset, byteOrder, flushedPos, streamPos
コンストラクタと説明 |
---|
ImageOutputStreamImpl()
ImageOutputStreamImpl を構築します。 |
修飾子と型 | メソッドと説明 |
---|---|
protected void |
flushBits()
ビット・オフセットがゼロでない場合、現在のバイトの残りのビットを強制的に0にして、ストリーム位置を1だけ増加します。
|
void |
write(byte[] b)
バイトのシーケンスをストリームの現在位置に書き込みます。
|
abstract void |
write(byte[] b, int off, int len)
バイトのシーケンスをストリームの現在位置に書き込みます。
|
abstract void |
write(int b)
ストリームの現在の位置に1バイト書き込みます。
|
void |
writeBit(int bit)
引数の最下位ビットで指定された1ビットを、ストリームの現在のバイト位置の現在のビット・オフセットに書き込みます。
|
void |
writeBits(long bits, int numBits)
bits 引数の下位numBits ビットのビット・シーケンスを左から右に、ストリームの現在のバイト位置の現在のビット・オフセットに書き込みます。 |
void |
writeBoolean(boolean v)
ストリームに
boolean 値を書き込みます。 |
void |
writeByte(int v)
v の下位8ビットをストリームに書き込みます。 |
void |
writeBytes(String s)
文字列を出力ストリームに書き込みます。
|
void |
writeChar(int v)
このメソッドは
writeShort と同義です。 |
void |
writeChars(char[] c, int off, int len)
charのシーケンスをストリームの現在位置に書き込みます。
|
void |
writeChars(String s)
文字列を出力ストリームに書き込みます。
|
void |
writeDouble(double v)
4バイトで構成される
double 値を出力ストリームに書き込みます。 |
void |
writeDoubles(double[] d, int off, int len)
doubleのシーケンスをストリームの現在位置に書き込みます。
|
void |
writeFloat(float v)
4バイトで構成される
float 値を出力ストリームに書き込みます。 |
void |
writeFloats(float[] f, int off, int len)
floatのシーケンスをストリームの現在位置に書き込みます。
|
void |
writeInt(int v)
v の32ビットをストリームに書き込みます。 |
void |
writeInts(int[] i, int off, int len)
intのシーケンスをストリームの現在位置に書き込みます。
|
void |
writeLong(long v)
v の64ビットをストリームに書き込みます。 |
void |
writeLongs(long[] l, int off, int len)
longのシーケンスをストリームの現在位置に書き込みます。
|
void |
writeShort(int v)
v の下位16ビットをストリームに書き込みます。 |
void |
writeShorts(short[] s, int off, int len)
shortのシーケンスをストリームの現在位置に書き込みます。
|
void |
writeUTF(String s)
長さ情報の2バイトを、ネットワーク・バイト順で出力ストリームに書き込みます。その後ろには、文字列
s 内の各文字の修正UTF-8表現が続きます。 |
checkClosed, close, finalize, flush, flushBefore, 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
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
flushBefore
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
public abstract void write(int b) throws IOException
ImageOutputStream
b
の上位24ビットは無視されます。
ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。書込み後は、ビット・オフセットは0です。実装側は、ImageOutputStreamImpl
のflushBits
メソッドを使用してこれを保証できます。
write
、インタフェース: DataOutput
write
、インタフェース: ImageOutputStream
b
- 下位8ビットが書き込まれるint
。IOException
- 入出力エラーが発生した場合。public void write(byte[] b) throws IOException
ImageOutputStream
b.length
が0の場合、何も書き込みません。バイトb[0]
を最初に書き込み、次にバイトb[1]
を書き込む、という具合になります。
ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。書込み後は、ビット・オフセットは0です。
write
、インタフェース: DataOutput
write
、インタフェース: ImageOutputStream
b
- 書き込まれるbyte
配列。IOException
- 入出力エラーが発生した場合。public abstract 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
b
- 書き込まれるbyte
配列。off
- データの開始オフセット。len
- 書き込むbyte
数。IOException
- 入出力エラーが発生した場合。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
- 入出力エラーが発生した場合。public void writeByte(int v) throws IOException
ImageOutputStream
v
の下位8ビットをストリームに書き込みます。v
の上位24ビットは無視されます。これはwriteByte
が、整数引数のwrite
とまったく同じであることを意味します。
ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。書込み後は、ビット・オフセットは0です。
writeByte
、インタフェース: DataOutput
writeByte
、インタフェース: ImageOutputStream
v
- 書き込まれるバイト値を含むint
。IOException
- 入出力エラーが発生した場合。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
- 入出力エラーが発生した場合。public void writeChar(int v) throws IOException
ImageOutputStream
writeShort
と同義です。writeChar
、インタフェース: DataOutput
writeChar
、インタフェース: ImageOutputStream
v
- 書き込まれるchar (符号なしshort)値を含むint
。IOException
- 入出力エラーが発生した場合。ImageOutputStream.writeShort(int)
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
- 入出力エラーが発生した場合。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
- 入出力エラーが発生した場合。public void writeFloat(float v) throws IOException
ImageOutputStream
float
値を出力ストリームに書き込みます。これは、最初にこのfloat
値をFloat.floatToIntBits
メソッドと同じ方法でint
に変換し、その後int値をwriteInt
メソッドと同じ方法で書き込むようにして行われます。
ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。書込み後は、ビット・オフセットは0です。
writeFloat
、インタフェース: DataOutput
writeFloat
、インタフェース: ImageOutputStream
v
- 書き込まれる値を含むfloat
。IOException
- 入出力エラーが発生した場合。public void writeDouble(double v) throws IOException
ImageOutputStream
double
値を出力ストリームに書き込みます。これは、最初にこのdouble
値をDouble.doubleToLongBits
メソッドと同じ方法でlong
に変換し、次にlong値をwriteLong
メソッドと同じ方法で書き込むようにして行われます。
ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。書込み後は、ビット・オフセットは0です。
writeDouble
、インタフェース: DataOutput
writeDouble
、インタフェース: ImageOutputStream
v
- 書き込まれる値を含むdouble
。IOException
- 入出力エラーが発生した場合。public void writeBytes(String s) throws IOException
ImageOutputStream
s
の各文字が順番に取り出され、1バイトが出力ストリームに書き込まれます。s
がnull
の場合、NullPointerException
がスローされます。
s.length
がゼロの場合、バイトは書き込まれません。それ以外の場合は、最初に文字s[0]
が書き込まれ、次にs[1]
という具合に続き、最後に書き込まれる文字はs[s.length-1]
になります。各文字については、writeByte
メソッドとまったく同じ方法で、1バイト、つまり下位バイトが書き込まれます。文字列内の各文字の上位8ビットは無視されます。
ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。書込み後は、ビット・オフセットは0です。
writeBytes
、インタフェース: DataOutput
writeBytes
、インタフェース: ImageOutputStream
s
- 書き込まれる値を含むString
。IOException
- 入出力エラーが発生した場合。public void writeChars(String s) throws IOException
ImageOutputStream
s
の各文字が、順番に取り出され、現在のバイト順の設定に従った順序で、2バイトが出力ストリームに書き込まれます。ネットワーク・バイト順が使用されると高位バイトが最初に書き込まれ、そうでない場合は逆になります。s
がnull
の場合、NullPointerException
がスローされます。
s.length
がゼロの場合、バイトは書き込まれません。それ以外の場合は、最初に文字s[0]
が書き込まれ、次にs[1]
という具合に続き、最後に書き込まれる文字はs[s.length-1]
になります。
ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。書込み後は、ビット・オフセットは0です。
writeChars
、インタフェース: DataOutput
writeChars
、インタフェース: ImageOutputStream
s
- 書き込まれる値を含むString
。IOException
- 入出力エラーが発生した場合。public void writeUTF(String s) throws IOException
ImageOutputStream
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
writeUTF
、インタフェース: ImageOutputStream
s
- 書き込まれる値を含むString
。UTFDataFormatException
- s
の修正UTF-8表現に65536を超えるバイトが必要な場合。IOException
- 入出力エラーが発生した場合。public void writeShorts(short[] s, int off, int len) throws IOException
ImageOutputStream
len
が0の場合、何も書き込みません。最初にshort s[off]
、次にshort s[off+1]
、という順序で書込みが行われます。ストリームのバイト順を使用して、個々のバイトを書き込む順番が決定されます。
ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。書込み後は、ビット・オフセットは0です。
writeShorts
、インタフェース: ImageOutputStream
s
- 書き込まれるshort
配列。off
- データの開始オフセット。len
- 書き込むshort
数。IOException
- 入出力エラーが発生した場合。public void writeChars(char[] c, int off, int len) throws IOException
ImageOutputStream
len
が0の場合、何も書き込みません。最初にchar c[off]
、次にchar c[off+1]
、という順序で書込みが行われます。ストリームのバイト順を使用して、個々のバイトを書き込む順番が決定されます。
ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。書込み後は、ビット・オフセットは0です。
writeChars
、インタフェース: ImageOutputStream
c
- 書き込まれるchar
配列。off
- データの開始オフセット。len
- 書き込むchar
数。IOException
- 入出力エラーが発生した場合。public void writeInts(int[] i, int off, int len) throws IOException
ImageOutputStream
len
が0の場合、何も書き込みません。最初にint i[off]
、次にint i[off+1]
、という順序で書込みが行われます。ストリームのバイト順を使用して、個々のバイトを書き込む順番が決定されます。
ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。書込み後は、ビット・オフセットは0です。
writeInts
、インタフェース: ImageOutputStream
i
- 書き込まれるint
配列。off
- データの開始オフセット。len
- 書き込むint
数。IOException
- 入出力エラーが発生した場合。public void writeLongs(long[] l, int off, int len) throws IOException
ImageOutputStream
len
が0の場合、何も書き込みません。最初にlong l[off]
、次にlong l[off+1]
、という順序で書込みが行われます。ストリームのバイト順を使用して、個々のバイトを書き込む順番が決定されます。
ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。書込み後は、ビット・オフセットは0です。
writeLongs
、インタフェース: ImageOutputStream
l
- 書き込まれるlong
配列。off
- データの開始オフセット。len
- 書き込むlong
数。IOException
- 入出力エラーが発生した場合。public void writeFloats(float[] f, int off, int len) throws IOException
ImageOutputStream
len
が0の場合、何も書き込みません。最初にfloat f[off]
、次にfloat f[off+1]
、という順序で書込みが行われます。ストリームのバイト順を使用して、個々のバイトを書き込む順番が決定されます。
ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。書込み後は、ビット・オフセットは0です。
writeFloats
、インタフェース: ImageOutputStream
f
- 書き込まれるfloat
配列。off
- データの開始オフセット。len
- 書き込むfloat
数。IOException
- 入出力エラーが発生した場合。public void writeDoubles(double[] d, int off, int len) throws IOException
ImageOutputStream
len
が0の場合、何も書き込みません。最初にdouble d[off]
、次にdouble d[off+1]
、という順序で書込みが行われます。ストリームのバイト順を使用して、個々のバイトを書き込む順番が決定されます。
ストリーム内のビット・オフセットがゼロでない場合、現在のバイトの残りは0でパディングされ、最初に書き込まれます。書込み後は、ビット・オフセットは0です。
writeDoubles
、インタフェース: ImageOutputStream
d
- 書き込まれるdoubles
配列。off
- データの開始オフセット。len
- 書き込むdouble
数。IOException
- 入出力エラーが発生した場合。public void writeBit(int bit) throws IOException
ImageOutputStream
特定のバイトの任意のビットが、バイトが出力先にフラッシュされる時点で設定されていなかった場合、これらのビットは自動的に0に設定されます。
writeBit
、インタフェース: ImageOutputStream
bit
- その最下位ビットがストリームに書き込まれるint
。IOException
- 入出力エラーが発生した場合。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
- 入出力エラーが発生した場合。protected final void flushBits() throws IOException
write(int)
およびwrite(byte[], int, int)
メソッドの先頭でこのメソッドを呼び出す必要があります。IOException
- 入出力エラーが発生した場合。 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.