|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.Object javax.imageio.stream.ImageInputStreamImpl javax.imageio.stream.ImageOutputStreamImpl
public abstract class ImageOutputStreamImpl
实现 ImageOutputStream
接口的抽象类。此类设计用于减少必须由子类实现的方法数。
字段摘要 |
---|
从类 javax.imageio.stream.ImageInputStreamImpl 继承的字段 |
---|
bitOffset, byteOrder, flushedPos, streamPos |
构造方法摘要 | |
---|---|
ImageOutputStreamImpl()
构造一个 ImageOutputStreamImpl 。 |
方法摘要 | |
---|---|
protected void |
flushBits()
如果位偏移量为非零,则将当前字节中的剩余位强制归 0,并将流位置前移一个字节。 |
void |
write(byte[] b)
将数组 b 中的所有字节写入输出流。 |
abstract void |
write(byte[] b,
int off,
int len)
将数组 b 中的 len 个字节按顺序写入输出流。 |
abstract void |
write(int b)
将参数 b 的八个低位写入输出流。 |
void |
writeBit(int bit)
将单个位(由参数的最低有效位给定)写入到流的当前字节位置中的当前位偏移量。 |
void |
writeBits(long bits,
int numBits)
将一个位序列(由 bits 参数的 numBits 个最低有效位按从左到右的顺序给定)写入到流的当前字节位置中的当前位偏移量。 |
void |
writeBoolean(boolean v)
将一个 boolean 值写入输出流。 |
void |
writeByte(int v)
将参数 v 的八个低位写入输出流。 |
void |
writeBytes(String s)
将一个字符串写入输出流。 |
void |
writeChar(int v)
将一个 char 值写入输出流,该值由两个字节组成。 |
void |
writeChars(char[] c,
int off,
int len)
将 char 序列写入到流中的当前位置。 |
void |
writeChars(String s)
将字符串 s 中的所有字符按顺序写入输出流,每个字符用两个字节表示。 |
void |
writeDouble(double v)
将一个 double 值写入输出流,该值由八个字节组成。 |
void |
writeDoubles(double[] d,
int off,
int len)
将 double 序列写入到流中的当前位置。 |
void |
writeFloat(float v)
将一个 float 值写入输出流,该值由四个字节组成。 |
void |
writeFloats(float[] f,
int off,
int len)
将 float 序列写入到流中的当前位置。 |
void |
writeInt(int v)
将一个 int 值写入输出流,该值由四个字节组成。 |
void |
writeInts(int[] i,
int off,
int len)
将 int 序列写入到流中的当前位置。 |
void |
writeLong(long v)
将一个 long 值写入输出流,该值由八个字节组成。 |
void |
writeLongs(long[] l,
int off,
int len)
将 long 序列写入到流中的当前位置。 |
void |
writeShort(int v)
将两个字节写入输出流,用它们表示参数值。 |
void |
writeShorts(short[] s,
int off,
int len)
将 short 序列写入到流中的当前位置。 |
void |
writeUTF(String s)
将表示长度信息的两个字节写入输出流,后跟字符串 s 中每个字符的 UTF-8 修改版表示形式。 |
从类 javax.imageio.stream.ImageInputStreamImpl 继承的方法 |
---|
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 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
从接口 javax.imageio.stream.ImageOutputStream 继承的方法 |
---|
flushBefore |
从接口 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 |
构造方法详细信息 |
---|
public ImageOutputStreamImpl()
ImageOutputStreamImpl
。
方法详细信息 |
---|
public abstract void write(int b) throws IOException
DataOutput
复制的描述b
的八个低位写入输出流。忽略 b
的 24 个高位。
DataOutput
中的 write
ImageOutputStream
中的 write
b
- 要写入的字节。
IOException
- 如果发生 I/O 错误。public void write(byte[] b) throws IOException
DataOutput
复制的描述b
中的所有字节写入输出流。如果 b
为 null
,则抛出 NullPointerException
。如果 b.length
为零,则不写入字节。否则,首先写入字节 b[0]
,然后写入字节 b[1]
,依此类推;最后一个写入字节是 b[b.length-1]
。
DataOutput
中的 write
ImageOutputStream
中的 write
b
- 数据。
IOException
- 如果发生 I/O 错误。public abstract void write(byte[] b, int off, int len) throws IOException
DataOutput
复制的描述b
中的 len
个字节按顺序写入输出流。如果 b
为 null
,则抛出 NullPointerException
。如果 off
为负,或 len
为负,抑或 off+len
大于数组 b
的长度,则抛出 IndexOutOfBoundsException
。如果 len
为零,则不写入字节。否则,首先写入字节 b[off]
,然后写入字节 b[off+1]
,依此类推;最后一个写入字节是 b[off+len-1]
。
DataOutput
中的 write
ImageOutputStream
中的 write
b
- 数据。off
- 数据中的起始偏移量。len
- 要写入的字节数。
IOException
- 如果发生 I/O 错误。public void writeBoolean(boolean v) throws IOException
DataOutput
复制的描述boolean
值写入输出流。如果参数 v
为 true
,则写入值 (byte)1
;如果 v
为 false
,则写入值 (byte)0
。此方法写入的字节可由 DataInput
接口的 readBoolean
方法读取,然后该方法将返回一个等于 v
的 boolean
值。
DataOutput
中的 writeBoolean
ImageOutputStream
中的 writeBoolean
v
- 要写入的 boolean 值。
IOException
- 如果发生 I/O 错误。public void writeByte(int v) throws IOException
DataOutput
复制的描述v
的八个低位写入输出流。忽略 v
的 24 个高位。(这意味着 writeByte
的作用与使用整数做参数的 write
完全相同。)此方法写入的字节可由 DataInput
接口的 readByte
方法读取,然后该方法将返回一个等于 (byte)v
的 byte
值。
DataOutput
中的 writeByte
ImageOutputStream
中的 writeByte
v
- 要写入的字节值。
IOException
- 如果发生 I/O 错误。public void writeShort(int v) throws IOException
DataOutput
复制的描述
(byte)(0xff & (v >> 8))
(byte)(0xff & v)
此方法写入的字节可由 DataInput
接口的 readShort
方法读取,然后该方法将返回一个等于 (short)v
的 short
值。
DataOutput
中的 writeShort
ImageOutputStream
中的 writeShort
v
- 要写入的 short
值。
IOException
- 如果发生 I/O 错误。public void writeChar(int v) throws IOException
DataOutput
复制的描述char
值写入输出流,该值由两个字节组成。要写入的字节值(按顺序显示)是:
(byte)(0xff & (v >> 8))
(byte)(0xff & v)
此方法写入的字节可由 DataInput
接口的 readChar
方法读取,然后该方法将返回一个等于 (char)v
的 char
值。
DataOutput
中的 writeChar
ImageOutputStream
中的 writeChar
v
- 要写入的 char
值。
IOException
- 如果发生 I/O 错误。ImageOutputStream.writeShort(int)
public void writeInt(int v) throws IOException
DataOutput
复制的描述int
值写入输出流,该值由四个字节组成。要写入的字节值(按顺序显示)是:
(byte)(0xff & (v >> 24))
(byte)(0xff & (v >> 16))
(byte)(0xff & (v >> 8))
(byte)(0xff & v)
此方法写入的字节可由 DataInput
接口的 readInt
方法读取,然后该方法将返回一个等于 v
的 int
值。
DataOutput
中的 writeInt
ImageOutputStream
中的 writeInt
v
- 要写入的 int
值。
IOException
- 如果发生 I/O 错误。public void writeLong(long v) throws IOException
DataOutput
复制的描述long
值写入输出流,该值由八个字节组成。要写入的字节值(按顺序显示)是:
(byte)(0xff & (v >> 56))
(byte)(0xff & (v >> 48))
(byte)(0xff & (v >> 40))
(byte)(0xff & (v >> 32))
(byte)(0xff & (v >> 24))
(byte)(0xff & (v >> 16))
(byte)(0xff & (v >> 8))
(byte)(0xff & v)
此方法写入的字节可由 DataInput
接口的 readLong
方法读取,然后该方法将返回一个等于 v
的 long
值。
DataOutput
中的 writeLong
ImageOutputStream
中的 writeLong
v
- 要写入的 long
值。
IOException
- 如果发生 I/O 错误。public void writeFloat(float v) throws IOException
DataOutput
复制的描述float
值写入输出流,该值由四个字节组成。实现这一点的方式是:首先使用与 Float.floatToIntBits
方法完全相同的方式将此 float
值转换为一个 int
值,然后使用与 writeInt
方法完全相同的方式写入该 int
值。此方法写入的字节可由 DataInput
接口的 readFloat
方法读取,然后该方法将返回一个等于 v
的 float
值。
DataOutput
中的 writeFloat
ImageOutputStream
中的 writeFloat
v
- 要写入的 float
值。
IOException
- 如果发生 I/O 错误。public void writeDouble(double v) throws IOException
DataOutput
复制的描述double
值写入输出流,该值由八个字节组成。实现这一点的方式是:首先使用与 Double.doubleToLongBits
方法相同的方式将此 double
值转换为一个 long
值,然后使用与 writeLong
方法完全相同的方式写入该 long
值。此方法写入的字节可由 DataInput
接口的 readDouble
方法读取,然后该方法将返回一个等于 v
的 double
值。
DataOutput
中的 writeDouble
ImageOutputStream
中的 writeDouble
v
- 要写入的 double
值。
IOException
- 如果发生 I/O 错误。public void writeBytes(String s) throws IOException
DataOutput
复制的描述s
中的每一个字符被依次写入输出流,每个字符用一个字节表示。如果 s
为 null
,则抛出 NullPointerException
。如果 s.length
为零,则不写入字节。否则,首先写入字符 s[0]
,然后写入字符 s[1]
,依此类推;最后一个写入字符是 s[s.length-1]
。使用与 writeByte
方法完全相同的方法为每个字符写入一个低位字节。忽略字符串中每个字符的八个高位。
DataOutput
中的 writeBytes
ImageOutputStream
中的 writeBytes
s
- 要写入的字节字符串。
IOException
- 如果发生 I/O 错误。public void writeChars(String s) throws IOException
DataOutput
复制的描述s
中的所有字符按顺序写入输出流,每个字符用两个字节表示。如果 s
为 null
,则抛出 NullPointerException
。如果 s.length
为零,则不写入字符。否则,首先写入字符 s[0]
,然后写入字符 s[1]
,依此类推;最后一个写入字符是 s[s.length-1]
。使用与 writeChar
方法完全相同的方法为每个字符实际写入两个字节,先使用高位字节。
DataOutput
中的 writeChars
ImageOutputStream
中的 writeChars
s
- 要写入的字符串值。
IOException
- 如果发生 I/O 错误。public void writeUTF(String s) throws IOException
DataOutput
复制的描述s
中每个字符的 UTF-8 修改版表示形式。如果 s
为 null
,则抛出 NullPointerException
。根据字符的值,将字符串 s
中每个字符转换成一个字节、两个字节或三个字节的字节组。
如果字符 c
在 \u0001
到 \u007f
的范围内,则用一个字节表示:
(byte)c
如果字符 c
是 \u0000
或者它在 \u0080
到 \u07ff
的范围内,则用两个字节表示,写入顺序如下:
(byte)(0xc0 | (0x1f & (c >> 6)))
(byte)(0x80 | (0x3f & c))
如果字符 c
在 \u0800
到 \uffff
的范围内,则用三个字节表示,写入顺序如下:
(byte)(0xe0 | (0x0f & (c >> 12)))
(byte)(0x80 | (0x3f & (c >> 6)))
(byte)(0x80 | (0x3f & c))
首先,要计算表示 s
中所有字符所需的字节总数。如果总数大于 65535
,则抛出 UTFDataFormatException
。否则,使用与 writeShort
方法完全相同的方式将此长度写入输出流,然后写入字符串 s
中所有字符的 1 字节、2 字节或 3 字节表示形式。
此方法写入的字节可由 DataInput
接口的 readUTF
方法读取,然后该方法将返回一个等于 s
的 String
值。
DataOutput
中的 writeUTF
ImageOutputStream
中的 writeUTF
s
- 要写入的字符串值。
IOException
- 如果发生 I/O 错误。public void writeShorts(short[] s, int off, int len) throws IOException
ImageOutputStream
复制的描述len
为 0,则不写入任何字节。首先写入 short s[off]
,然后写入 short s[off + 1]
,依此类推。流的字节顺序用来确定写入个别字节的顺序。
如果流中的位偏移量不为零,则首先将当前字节的余项用 0 填充并将其写出。写出后位偏移量将为 0。
ImageOutputStream
中的 writeShorts
s
- 要写入的 short
数组。off
- 数据中的初始偏移量。len
- 要写入的 short
数。
IOException
- 如果发生 I/O 错误。public void writeChars(char[] c, int off, int len) throws IOException
ImageOutputStream
复制的描述len
为 0,则不写入任何字节。首先写入 char c[off]
,然后写入 char c[off + 1]
,依此类推。流的字节顺序用来确定写入个别字节的顺序。
如果流中的位偏移量不为零,则首先将当前字节的余项用 0 填充并将其写出。写出后位偏移量将为 0。
ImageOutputStream
中的 writeChars
c
- 要写入的 char
数组。off
- 数据中的初始偏移量。len
- 要写入的 char
数。
IOException
- 如果发生 I/O 错误。public void writeInts(int[] i, int off, int len) throws IOException
ImageOutputStream
复制的描述len
为 0,则不写入任何字节。首先写入 int i[off]
,然后写入 int i[off + 1]
,依此类推。流的字节顺序用来确定写入个别字节的顺序。
如果流中的位偏移量不为零,则首先将当前字节的余项用 0 填充并将其写出。写出后位偏移量将为 0。
ImageOutputStream
中的 writeInts
i
- 要写入的 int
数组。off
- 数据中的初始偏移量。len
- 要写入的 int
数。
IOException
- 如果发生 I/O 错误。public void writeLongs(long[] l, int off, int len) throws IOException
ImageOutputStream
复制的描述len
为 0,则不写入任何字节。首先写入 long l[off]
,然后写入 long l[off + 1]
,依此类推。流的字节顺序用来确定写入个别字节的顺序。
如果流中的位偏移量不为零,则首先将当前字节的余项用 0 填充并将其写出。写出后位偏移量将为 0。
ImageOutputStream
中的 writeLongs
l
- 要写入的 long
数组。off
- 数据中的初始偏移量。len
- 要写入的 long
数。
IOException
- 如果发生 I/O 错误。public void writeFloats(float[] f, int off, int len) throws IOException
ImageOutputStream
复制的描述len
为 0,则不写入任何字节。首先写入 float f[off]
,然后写入 float f[off + 1]
,依此类推。流的字节顺序用来确定写入个别字节的顺序。
如果流中的位偏移量不为零,则首先将当前字节的余项用 0 填充并将其写出。写出后位偏移量将为 0。
ImageOutputStream
中的 writeFloats
f
- 要写入的 float
数组。off
- 数据中的初始偏移量。len
- 要写入的 float
数。
IOException
- 如果发生 I/O 错误。public void writeDoubles(double[] d, int off, int len) throws IOException
ImageOutputStream
复制的描述len
为 0,则不写入任何字节。首先写入 double d[off]
,然后写入 double d[off + 1]
,依此类推。流的字节顺序用来确定写入个别字节的顺序。
如果流中的位偏移量不为零,则首先将当前字节的余项用 0 填充并将其写出。写出后位偏移量将为 0。
ImageOutputStream
中的 writeDoubles
d
- 要写入的 double
数组。off
- 数据中的初始偏移量。len
- 要写入的 double
数。
IOException
- 如果发生 I/O 错误。public void writeBit(int bit) throws IOException
ImageOutputStream
复制的描述如果在刷新字节缓冲并转到目标时从来没有设置特定字节的某些位,则这些位将被自动设置为 0。
ImageOutputStream
中的 writeBit
bit
- 一个 int
,其最低有效位将被写入到流中。
IOException
- 如果发生 I/O 错误。public void writeBits(long bits, int numBits) throws IOException
ImageOutputStream
复制的描述bits
参数的 numBits
个最低有效位按从左到右的顺序给定)写入到流的当前字节位置中的当前位偏移量。忽略参数的高 64 - numBits
位。位偏移量将加 numBits
并减少模数 8。注意,位偏移量 0 总是指示字节的最高有效位,位字节按照遇到它们的顺序依次被写入。因此以网络字节顺序进行位的写入总是有效的。忽略实际流字节顺序设置。
在调用 flushBefore
之前,位数据可以在内存中无限累积。调用时将写入刷新位置之前的所有位数据。
如果在刷新字节缓冲并转到目标时特定字节的某些位一直没有被设置,则这些位将自动设置为 0。
ImageOutputStream
中的 writeBits
bits
- 一个 long
,它包含要写入的位(从 numBits - 1
开始下至最低有效位)。numBits
- 一个 0 到 64 之间(包括两者)的 int
。
IOException
- 如果发生 I/O 错误。protected final void flushBits() throws IOException
write(int)
和 write(byte[], int, int)
方法时应该调用此方法。
IOException
- 如果发生 I/O 错误。
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。