- 所有已实现的接口:
Closeable
,DataInput
,DataOutput
,AutoCloseable
,ImageInputStream
,ImageOutputStream
ImageOutputStream
接口的抽象类。此类旨在减少子类必须实现的方法数量。
-
字段摘要
在类 javax.imageio.stream.ImageInputStreamImpl 中声明的字段
bitOffset, byteOrder, flushedPos, streamPos
-
构造方法总结
构造方法 -
方法总结
修饰符和类型方法描述protected final void
如果位偏移量不为零,则强制当前字节中的剩余位为 0 并将流位置前进一位。void
write
(byte[] b) 在当前位置将字节序列写入流。void
writeBit
(int bit) 将由参数的最低有效位给出的单个位写入当前字节位置内当前位偏移处的流。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) 在当前位置将一系列字符写入流。void
writeChars
(String s) 将字符串写入输出流。void
writeDouble
(double v) 将由四个字节组成的double
值写入输出流。void
writeDoubles
(double[] d, int off, int len) 在当前位置将一系列双精度值写入流。void
writeFloat
(float v) 将由四个字节组成的float
值写入输出流。void
writeFloats
(float[] f, int off, int len) 在当前位置将一系列浮点数写入流。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) 在当前位置将一系列短裤写入流。void
以网络字节顺序将两个字节的长度信息写入输出流,后跟字符串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.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
在接口 javax.imageio.stream.ImageOutputStream 中声明的方法
flushBefore, write, write
-
构造方法详细信息
-
ImageOutputStreamImpl
public ImageOutputStreamImpl()构造一个ImageOutputStreamImpl
。
-
-
方法详情
-
write
从接口ImageOutputStream
复制的描述在当前位置将字节序列写入流。如果b.length
为 0,则不写入任何内容。首先写入字节b[0]
,然后写入字节b[1]
,依此类推。如果流中的位偏移量不为零,则当前字节的剩余部分用 0 填充并首先写出。写入后位偏移将为 0。
- 指定者:
write
在接口DataOutput
中- 指定者:
write
在接口ImageOutputStream
中- 参数:
b
- 要写入的byte
数组。- 抛出:
IOException
- 如果发生 I/O 错误。
-
writeBoolean
从接口ImageOutputStream
复制的描述将boolean
值写入流。如果v
为真,则写入值(byte)1
;如果v
为假,则写入值(byte)0
。如果流中的位偏移量不为零,则当前字节的剩余部分用 0 填充并首先写出。写入后位偏移将为 0。
- 指定者:
writeBoolean
在接口DataOutput
中- 指定者:
writeBoolean
在接口ImageOutputStream
中- 参数:
v
- 要写入的boolean
。- 抛出:
IOException
- 如果发生 I/O 错误。
-
writeByte
从接口ImageOutputStream
复制的描述将v
的 8 个低位写入流。v
的 24 位高位被忽略。 (这意味着writeByte
与write
对整数参数做完全相同的事情。)如果流中的位偏移量不为零,则当前字节的剩余部分用 0 填充并首先写出。写入后位偏移将为 0。
- 指定者:
writeByte
在接口DataOutput
中- 指定者:
writeByte
在接口ImageOutputStream
中- 参数:
v
- 一个int
包含要写入的字节值。- 抛出:
IOException
- 如果发生 I/O 错误。
-
writeShort
从接口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
- 一个int
包含要写入的短值。- 抛出:
IOException
- 如果发生 I/O 错误。
-
writeChar
从接口ImageOutputStream
复制的描述此方法是writeShort
的同义词。- 指定者:
writeChar
在接口DataOutput
中- 指定者:
writeChar
在接口ImageOutputStream
中- 参数:
v
- 一个int
包含要写入的 char(unsigned short)值。- 抛出:
IOException
- 如果发生 I/O 错误。- 参见:
-
writeInt
从接口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
- 如果发生 I/O 错误。
-
writeLong
从接口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
- 如果发生 I/O 错误。
-
writeFloat
从接口ImageOutputStream
复制的描述将由四个字节组成的float
值写入输出流。它这样做就好像它首先完全按照Float.floatToIntBits
方法的方式将此float
值转换为int
,然后完全按照writeInt
方法的方式写入 int 值。如果流中的位偏移量不为零,则当前字节的剩余部分用 0 填充并首先写出。写入后位偏移将为 0。
- 指定者:
writeFloat
在接口DataOutput
中- 指定者:
writeFloat
在接口ImageOutputStream
中- 参数:
v
- 包含要写入的值的float
。- 抛出:
IOException
- 如果发生 I/O 错误。
-
writeDouble
从接口ImageOutputStream
复制的描述将由四个字节组成的double
值写入输出流。它这样做就好像它首先完全按照Double.doubleToLongBits
方法的方式将此double
值转换为long
,然后完全按照writeLong
方法的方式写入 long 值。如果流中的位偏移量不为零,则当前字节的剩余部分用 0 填充并首先写出。写入后位偏移将为 0。
- 指定者:
writeDouble
在接口DataOutput
中- 指定者:
writeDouble
在接口ImageOutputStream
中- 参数:
v
- 包含要写入的值的double
。- 抛出:
IOException
- 如果发生 I/O 错误。
-
writeBytes
从接口ImageOutputStream
复制的描述将字符串写入输出流。对于字符串s
中的每个字符,按顺序将一个字节写入输出流。如果s
是null
,则抛出NullPointerException
。如果
s.length
为零,则不写入任何字节。否则先写入字符s[0]
,再写入s[1]
,以此类推;最后写入的字符是s[s.length-1]
。对于每个字符,写入一个字节,即低位字节,完全按照writeByte
方法的方式。忽略字符串中每个字符的高八位。如果流中的位偏移量不为零,则当前字节的剩余部分用 0 填充并首先写出。写入后位偏移将为 0。
- 指定者:
writeBytes
在接口DataOutput
中- 指定者:
writeBytes
在接口ImageOutputStream
中- 参数:
s
- 包含要写入的值的String
。- 抛出:
IOException
- 如果发生 I/O 错误。
-
writeChars
从接口ImageOutputStream
复制的描述将字符串写入输出流。对于字符串s
中的每个字符,按顺序将两个字节写入输出流,并根据当前字节顺序设置进行排序。如果使用网络字节序,高位字节先写;否则顺序相反。如果s
是null
,则抛出NullPointerException
。如果
s.length
为零,则不写入任何字节。否则先写入字符s[0]
,再写入s[1]
,以此类推;最后写入的字符是s[s.length-1]
。如果流中的位偏移量不为零,则当前字节的剩余部分用 0 填充并首先写出。写入后位偏移将为 0。
- 指定者:
writeChars
在接口DataOutput
中- 指定者:
writeChars
在接口ImageOutputStream
中- 参数:
s
- 包含要写入的值的String
。- 抛出:
IOException
- 如果发生 I/O 错误。
-
writeUTF
从接口ImageOutputStream
复制的描述以网络字节顺序将两个字节的长度信息写入输出流,后跟字符串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
中每个字符的一、二或三字节表示。当前字节顺序设置将被忽略。
如果流中的位偏移量不为零,则当前字节的剩余部分用 0 填充并首先写出。写入后位偏移将为 0。
Note:该方法不应该用于使用标准UTF-8的图像格式的实现,因为这里使用的修改后的UTF-8与标准UTF-8不兼容。
- 指定者:
writeUTF
在接口DataOutput
中- 指定者:
writeUTF
在接口ImageOutputStream
中- 参数:
s
- 包含要写入的值的String
。- 抛出:
UTFDataFormatException
- 如果s
的修改后的 UTF-8 表示需要超过 65536 字节。IOException
- 如果发生 I/O 错误。
-
writeShorts
从接口ImageOutputStream
复制的描述在当前位置将一系列短裤写入流。如果len
为 0,则不写入任何内容。首先写入短s[off]
,然后写入短s[off + 1]
,依此类推。流的字节顺序用于确定各个字节的写入顺序。如果流中的位偏移量不为零,则当前字节的剩余部分用 0 填充并首先写出。写入后位偏移将为 0。
- 指定者:
writeShorts
在接口ImageOutputStream
中- 参数:
s
- 要写入的short
数组。off
- 数据中的起始偏移量。len
- 要写入的short
的数量。- 抛出:
IOException
- 如果发生 I/O 错误。
-
writeChars
从接口ImageOutputStream
复制的描述在当前位置将一系列字符写入流。如果len
为 0,则不写入任何内容。首先写入 charc[off]
,然后写入 charc[off + 1]
,依此类推。流的字节顺序用于确定各个字节的写入顺序。如果流中的位偏移量不为零,则当前字节的剩余部分用 0 填充并首先写出。写入后位偏移将为 0。
- 指定者:
writeChars
在接口ImageOutputStream
中- 参数:
c
- 要写入的char
数组。off
- 数据中的起始偏移量。len
- 要写入的char
的数量。- 抛出:
IOException
- 如果发生 I/O 错误。
-
writeInts
从接口ImageOutputStream
复制的描述在当前位置将一个 int 序列写入流。如果len
为 0,则不写入任何内容。首先写入 inti[off]
,然后写入 inti[off + 1]
,依此类推。流的字节顺序用于确定各个字节的写入顺序。如果流中的位偏移量不为零,则当前字节的剩余部分用 0 填充并首先写出。写入后位偏移将为 0。
- 指定者:
writeInts
在接口ImageOutputStream
中- 参数:
i
- 要写入的int
数组。off
- 数据中的起始偏移量。len
- 要写入的int
的数量。- 抛出:
IOException
- 如果发生 I/O 错误。
-
writeLongs
从接口ImageOutputStream
复制的描述在当前位置将一个 long 序列写入流。如果len
为 0,则不写入任何内容。 longl[off]
先写,然后是 longl[off + 1]
,依此类推。流的字节顺序用于确定各个字节的写入顺序。如果流中的位偏移量不为零,则当前字节的剩余部分用 0 填充并首先写出。写入后位偏移将为 0。
- 指定者:
writeLongs
在接口ImageOutputStream
中- 参数:
l
- 要写入的long
数组。off
- 数据中的起始偏移量。len
- 要写入的long
的数量。- 抛出:
IOException
- 如果发生 I/O 错误。
-
writeFloats
从接口ImageOutputStream
复制的描述在当前位置将一系列浮点数写入流。如果len
为 0,则不写入任何内容。首先写入浮点数f[off]
,然后是浮点数f[off + 1]
,依此类推。流的字节顺序用于确定各个字节的写入顺序。如果流中的位偏移量不为零,则当前字节的剩余部分用 0 填充并首先写出。写入后位偏移将为 0。
- 指定者:
writeFloats
在接口ImageOutputStream
中- 参数:
f
- 要写入的float
数组。off
- 数据中的起始偏移量。len
- 要写入的float
的数量。- 抛出:
IOException
- 如果发生 I/O 错误。
-
writeDoubles
从接口ImageOutputStream
复制的描述在当前位置将一系列双精度值写入流。如果len
为 0,则不写入任何内容。先写入双d[off]
,然后写入双d[off + 1]
,依此类推。流的字节顺序用于确定各个字节的写入顺序。如果流中的位偏移量不为零,则当前字节的剩余部分用 0 填充并首先写出。写入后位偏移将为 0。
- 指定者:
writeDoubles
在接口ImageOutputStream
中- 参数:
d
- 要写入的doubles
数组。off
- 数据中的起始偏移量。len
- 要写入的double
的数量。- 抛出:
IOException
- 如果发生 I/O 错误。
-
writeBit
从接口ImageOutputStream
复制的描述将由参数的最低有效位给出的单个位写入当前字节位置内当前位偏移处的流。忽略参数的高 31 位。给定的位替换该位置的前一位。位偏移量提前 1 并减少模 8。如果在将字节刷新到目标时从未设置特定字节的任何位,则这些位将自动设置为 0。
- 指定者:
writeBit
在接口ImageOutputStream
中- 参数:
bit
- 一个int
,其最低有效位将被写入流。- 抛出:
IOException
- 如果发生 I/O 错误。
-
writeBits
从接口ImageOutputStream
复制的描述将由bits
参数的numBits
最低有效位以从左到右的顺序给出的位序列写入当前字节位置内当前位偏移量的流中。忽略参数的高64 - numBits
位。位偏移量增加numBits
并减少模 8。请注意,位偏移量 0 始终表示字节的最高有效位,并且位的字节在遇到时按顺序写出。因此,位写入总是有效地按网络字节顺序进行。忽略实际的流字节顺序设置。位数据可能会无限期地累积在内存中,直到
flushBefore
被调用。届时,刷新位置之前的所有位数据将被写入。如果在将字节刷新到目标时从未设置特定字节的任何位,则这些位将自动设置为 0。
- 指定者:
writeBits
在接口ImageOutputStream
中- 参数:
bits
- 一个long
包含要写入的位,从位置numBits - 1
的位开始一直到最低有效位。numBits
- 一个int
介于 0 和 64 之间,包括在内。- 抛出:
IOException
- 如果发生 I/O 错误。
-
flushBits
如果位偏移量不为零,则强制当前字节中的剩余位为 0 并将流位置前进一位。此方法应在write(int)
和write(byte[], int, int)
方法的开头由子类调用。- 抛出:
IOException
- 如果发生 I/O 错误。
-