public abstract class ImageOutputStreamImpl extends ImageInputStreamImpl implements ImageOutputStream
ImageOutputStream
インタフェースを実装する abstract クラスです。このクラスの目的は、サブクラスで実装する必要のあるメソッドの数を減らすことです。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)
このメソッドは
と同義です。 |
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
。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, 2013, Oracle and/or its affiliates. All rights reserved.