- 所有已实现的接口:
-
Closeable
,DataInput
,DataOutput
,AutoCloseable
,ImageInputStream
,ImageOutputStream
ImageOutputStream
接口的抽象类。该类旨在减少子类必须实现的方法数量。
-
Field Summary
Fields declared in class javax.imageio.stream.ImageInputStreamImpl
bitOffset, byteOrder, flushedPos, streamPos
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected 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) 将一系列double
写入当前位置的流。void
writeFloat
(float v) 将由四个字节组成的float
值写入输出流。void
writeFloats
(float[] f, int off, int len) 将一系列float
写入当前位置的流。void
writeInt
(int v) 将v
的32位写入流。void
writeInts
(int[] i, int off, int len) 将一系列整数写入当前位置的流。void
writeLong
(long v) 将v
的64位写入流。void
writeLongs
(long[] l, int off, int len) 将一系列长整数写入当前位置的流。void
writeShort
(int v) 将v
的16个低位写入流。void
writeShorts
(short[] s, int off, int len) 将一系列短整数写入当前位置的流。void
在网络字节顺序中向输出流写入两个字节的长度信息,然后是字符串s
中每个字符的修改后的UTF-8表示。Methods declared in class 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
Methods declared in class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods declared in interface 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
Methods declared in interface javax.imageio.stream.ImageOutputStream
flushBefore, write, write
-
Constructor Details
-
ImageOutputStreamImpl
public ImageOutputStreamImpl()构造一个ImageOutputStreamImpl
。
-
-
Method Details
-
write
从接口复制的描述:ImageOutputStream
将一系列字节写入当前位置的流。如果b.length
为0,则不写入任何内容。首先写入字节b[0]
,然后是字节b[1]
,依此类推。如果流中的位偏移量非零,则当前字节的其余部分将填充为0并首先写出。写入后,位偏移量将为0。
- 指定者:
-
write
在接口DataOutput
中 - 指定者:
-
write
在接口ImageOutputStream
中 - 参数:
-
b
- 要写入的byte
数组。 - 抛出:
-
IOException
- 如果发生I/O错误。
-
writeBoolean
从接口复制的描述:ImageOutputStream
将boolean
值写入流。如果v
为true,则写入值(byte)1
;如果v
为false,则写入值(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
Writes the 16 low-order bits ofv
to the stream. The 16 high-order bits ofv
are ignored. If the stream uses network byte order, the bytes written, in order, will be:(byte)((v >> 8) & 0xff) (byte)(v & 0xff)
Otherwise, the bytes written will be:(byte)(v & 0xff) (byte)((v >> 8) & 0xff)
If the bit offset within the stream is non-zero, the remainder of the current byte is padded with 0s and written out first. The bit offset will be 0 after the write.
- Specified by:
-
writeShort
in interfaceDataOutput
- Specified by:
-
writeShort
in interfaceImageOutputStream
- Parameters:
-
v
- anint
containing the short value to be written. - Throws:
-
IOException
- if an I/O error occurs.
-
writeChar
Description copied from interface:ImageOutputStream
This method is a synonym forwriteShort
.- Specified by:
-
writeChar
in interfaceDataOutput
- Specified by:
-
writeChar
in interfaceImageOutputStream
- Parameters:
-
v
- anint
containing the char (unsigned short) value to be written. - Throws:
-
IOException
- if an I/O error occurs. - See Also:
-
writeInt
Description copied from interface: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
值转换为int
,方法与Float.floatToIntBits
方法完全相同,然后按照writeInt
方法的方式写入int值。如果流中的位偏移量不为零,则当前字节的剩余部分将填充为0并首先写出。写入后,位偏移量将为0。
- 指定者:
-
writeFloat
在接口DataOutput
- 指定者:
-
writeFloat
在接口ImageOutputStream
- 参数:
-
v
- 包含要写入的值的float
。 - 抛出:
-
IOException
- 如果发生I/O错误。
-
writeDouble
从接口中复制的描述:ImageOutputStream
将由八个字节组成的double
值写入输出流。它会将此double
值转换为long
,方法与Double.doubleToLongBits
方法完全相同,然后按照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。
注意:不应在使用标准UTF-8的图像格式的实现中使用此方法,因为此处使用的修改后的UTF-8与标准UTF-8不兼容。
- 指定者:
-
writeUTF
在接口DataOutput
中 - 指定者:
-
writeUTF
在接口ImageOutputStream
中 - 参数:
-
s
- 包含要写入的值的String
。 - 抛出:
-
UTFDataFormatException
- 如果s
的修改后的UTF-8表示需要超过65536字节。 -
IOException
- 如果发生I/O错误。
-
writeShorts
从接口中复制的描述:ImageOutputStream
在当前位置向流写入一系列short。如果len
为0,则不会写入任何内容。首先写入shorts[off]
,然后是shorts[off + 1]
,依此类推。流的字节顺序用于确定写入单个字节的顺序。如果流中的位偏移量不为零,则当前字节的剩余部分将首先填充为 0 并写出。写入后,位偏移量将为 0。
- 指定者:
-
writeShorts
在接口ImageOutputStream
中 - 参数:
-
s
- 要写入的short
数组。 -
off
- 数据中的起始偏移量。 -
len
- 要写入的short
数量。 - 抛出:
-
IOException
- 如果发生I/O错误。
-
writeChars
从接口中复制的描述:ImageOutputStream
在当前位置向流写入一系列char。如果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
在当前位置向流写入一系列float。如果len
为0,则不会写入任何内容。首先写入floatf[off]
,然后是floatf[off + 1]
,依此类推。流的字节顺序用于确定写入单个字节的顺序。如果流中的位偏移量不为零,则当前字节的剩余部分将首先填充为 0 并写出。写入后,位偏移量将为 0。
- 指定者:
-
writeFloats
在接口ImageOutputStream
中 - 参数:
-
f
- 要写入的float
数组。 -
off
- 数据中的起始偏移量。 -
len
- 要写入的float
数量。 - 抛出:
-
IOException
- 如果发生I/O错误。
-
writeDoubles
从接口中复制的描述:ImageOutputStream
在当前位置向流写入一系列double。如果len
为0,则不会写入任何内容。首先写入doubled[off]
,然后是doubled[off + 1]
,依此类推。流的字节顺序用于确定写入单个字节的顺序。如果流中的位偏移量不为零,则当前字节的剩余部分将首先填充为 0 并写出。写入后,位偏移量将为 0。
- 指定者:
-
writeDoubles
在接口ImageOutputStream
中 - 参数:
-
d
- 要写入的double
数组。 -
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
- 介于0和64之间的int
,包括0和64。 - 抛出:
-
IOException
- 如果发生I/O错误。
-
flushBits
如果位偏移量不为零,则将当前字节中剩余的位强制设置为0,并将流位置向前移动一个位置。子类应在write(int)
和write(byte[], int, int)
方法的开头调用此方法。- 抛出:
-
IOException
- 如果发生I/O错误。
-