public interface ImageOutputStream extends ImageInputStream, DataOutput
ImageWriters。各种输出的目的地,如
OutputStreams和
Files,以及未来的快速I/O的目的地可能是“包裹”的一个合适的接口使用的图像实现I/O API。
不同于标准OutputStream,imageoutputstream延伸它的副本,ImageInputStream。因此,它是可能的从流中读取,因为它是被写入。相同的寻求和冲洗位置适用于阅读和写作,虽然处理一个非零位偏移之前,一个字节对齐写的语义必然是不同的处理与一个非零位偏移之前,一个字节对齐的阅读的语义。读取字节时,任何一点的偏移量是在读写字节设置为0;当零位偏移,导致在字节剩余的位被写为0,字节对齐,然后开始在写下一个字节的位置。
ImageInputStream
| Modifier and Type | Method and Description |
|---|---|
void |
flushBefore(long pos)
把所有的数据到给定位置的标的目的地之前,如
OutputStream或
File。
|
void |
write(byte[] b)
将一个字节序列写入当前位置的流中。
|
void |
write(byte[] b, int off, int len)
将一个字节序列写入当前位置的流中。
|
void |
write(int 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)
写32位
v到流。
|
void |
writeInts(int[] i, int off, int len)
写一个整数序列流的当前位置。
|
void |
writeLong(long v)
写64位
v到流。
|
void |
writeLongs(long[] l, int off, int len)
在当前位置写一个对流的序列。
|
void |
writeShort(int v)
写
v 16低阶比特流。
|
void |
writeShorts(short[] s, int off, int len)
在当前位置上写入流的一系列短片。
|
void |
writeUTF(String s)
写两个字节长度的信息在网络字节顺序输出流,其次是字符串中的每个字符的
modified UTF-8表示
s。
|
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, skipBytesvoid write(int b)
throws IOException
b 24阶位被忽略。
如果在流偏位非零,其余的当前字节填充0和写了第一。写入后的位偏移量将为0。实施者可以使用的方法来保证这ImageOutputStreamImpl flushBits。
write 接口
DataOutput
b -
int的低8位都要写。
IOException如果I/O错误发生。
void write(byte[] b)
throws IOException
b.length是0,什么都不写。字节
b[0]是第一次写,然后
b[1]字节,等等。
如果在流偏位非零,其余的当前字节填充0和写了第一。写入后的位偏移量将为0。
write 接口
DataOutput
b -
bytes被写入数组。
null
b
NullPointerException。
IOException如果I/O错误发生。
void write(byte[] b,
int off,
int len)
throws IOException
len是0,什么都不写。字节
b[off]是第一次写,然后
b[off + 1]字节,等等。
如果在流偏位非零,其余的当前字节填充0和写了第一。写入后的位偏移量将为0。实施者可以使用的方法来保证这ImageOutputStreamImpl flushBits。
write 接口
DataOutput
b -
bytes被写入数组。
off的起始偏移量的数据。
len -
bytes数写。
IndexOutOfBoundsException -如果
off是负的,
len是负的,或
off + len大于
b.length。
null
b
NullPointerException。
IOException如果I/O错误发生。
void writeBoolean(boolean v)
throws IOException
boolean价值流。如果
v是真的,价值
(byte)1写;如果
v是假的,价值
(byte)0写。
如果在流偏位非零,其余的当前字节填充0和写了第一。写入后的位偏移量将为0。
writeBoolean 接口
DataOutput
v -
boolean要写。
IOException如果I/O错误发生。
void writeByte(int v)
throws IOException
v 8低阶比特流。对
v 24阶位被忽略。(这意味着
writeByte做同样的事情作为一个整型参数。
write)
如果在流偏位非零,其余的当前字节填充0和写了第一。写入后的位偏移量将为0。
writeByte 接口
DataOutput
v -
int包含字节值写入。
IOException如果I/O错误发生。
void writeShort(int v)
throws IOException
v 16低阶比特流。对
v 16阶位被忽略。如果流使用网络字节顺序,字节写的,为了将:
(字节)((V > > 8)& 0xff)(字节)(V & 0xff)否则,字节写的将是:
(字节)(V & 0xff)(字节)((V > > 8)& 0xff)
如果在流偏位非零,其余的当前字节填充0和写了第一。写入后的位偏移量将为0。
writeShort 接口
DataOutput
v -
int含有短值被写入。
IOException如果I/O错误发生。
void writeChar(int v)
throws IOException
writeShort。
writeChar 接口
DataOutput
v -
int含炭(unsigned short)写入值。
IOException如果I/O错误发生。
writeShort(int)
void writeInt(int v)
throws IOException
v到流。如果流使用网络字节顺序,字节写的,为了将:
(字节)((V > > 24)& 0xff)(字节)((V > > 16)& 0xff)(字节)((V > > 8)& 0xff)(字节)(V & 0xff)otheriwse,字节写的将是:
(字节)(V & 0xff)(字节)((V > > 8)& 0xff)(字节)((V > > 16)& 0xff)(字节)((V > > 24)& 0xff)
如果在流偏位非零,其余的当前字节填充0和写了第一。写入后的位偏移量将为0。
writeInt 接口
DataOutput
v -
int含有值被写入。
IOException如果I/O错误发生。
void writeLong(long v)
throws IOException
v到流。如果流使用网络字节顺序,字节写的,为了将:
(字节)((V > > 56)& 0xff)(字节)((V > > 48)& 0xff)(字节)((V > > 40)& 0xff)(字节)((V > > 32)& 0xff)(字节)((V > > 24)& 0xff)(字节)((V > > 16)& 0xff)(字节)((V > > 8)& 0xff)(字节)(V & 0xff)否则,字节写的将是:
(字节)(V & 0xff)(字节)((V > > 8)& 0xff)(字节)((V > > 16)& 0xff)(字节)((V > > 24)& 0xff)(字节)((V > > 32)& 0xff)(字节)((V > > 40)& 0xff)(字节)((V > > 48)& 0xff)(字节)((V > > 56)& 0xff)
如果在流偏位非零,其余的当前字节填充0和写了第一。写入后的位偏移量将为0。
writeLong 接口
DataOutput
v -
long含有值被写入。
IOException如果I/O错误发生。
void writeFloat(float v)
throws IOException
float值,它是由四个字节,到输出流。它好像一把这
float值的方法是
Float.floatToIntBits方式
int然后写int值的方法是
writeInt方式。
如果在流偏位非零,其余的当前字节填充0和写了第一。写入后的位偏移量将为0。
writeFloat 接口
DataOutput
v -
float含有值被写入。
IOException如果I/O错误发生。
void writeDouble(double v)
throws IOException
double值,它是由四个字节,到输出流。它好像一把这
double值的方法是
Double.doubleToLongBits方式
long然后写长值准确的
writeLong方法的方式。
如果在流偏位非零,其余的当前字节填充0和写了第一。写入后的位偏移量将为0。
writeDouble 接口
DataOutput
v -
double含有值被写入。
IOException如果I/O错误发生。
void writeBytes(String s) throws IOException
s,以,一个字节被写入输出流。如果
s是
null,一
NullPointerException抛出。
如果s.length是零,那么没有字节被写入。否则,性格s[0]是第一次写,然后s[1],等等;最后一个字符是s[s.length-1]。对每个字符一个字节写,低字节,在准确的writeByte方法的方式。字符串中的每个字符的高阶八位被忽略。
如果在流偏位非零,其余的当前字节填充0和写了第一。写入后的位偏移量将为0。
writeBytes 接口
DataOutput
s -
String含有值被写入。
null
s
NullPointerException。
IOException如果I/O错误发生。
void writeChars(String s) throws IOException
s,以,两个字节写入到输出流,下令按字节顺序设置。如果正在使用网络字节顺序,高阶字节是先写的;顺序相反,否则。如果
s是
null,一
NullPointerException抛出。
如果s.length是零,那么没有字节被写入。否则,性格s[0]是第一次写,然后s[1],等等;最后一个字符是s[s.length-1]。
如果在流偏位非零,其余的当前字节填充0和写了第一。写入后的位偏移量将为0。
writeChars 接口
DataOutput
s -
String含有值被写入。
null
s
NullPointerException。
IOException如果I/O错误发生。
void writeUTF(String s) throws IOException
s
modified UTF-8表示。如果
s是
null,一
NullPointerException抛出。字符串中的每个字符
s转换为一组一个,两个,或三个字节,根据角色的价值。
如果一个角色c范围在\u0001通过\u007f,它是由一个字节表示:
(字节)
如果一个角色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
s -
String含有值被写入。
null
s
NullPointerException。
UTFDataFormatException -如果
s UTF-8需要超过65536字节。
IOException如果I/O错误发生。
void writeShorts(short[] s,
int off,
int len)
throws IOException
len是0,什么都不写。短
s[off]是第一次写,那么短的
s[off + 1],等等。流的字节顺序是用来确定单个字节的写入顺序的。
如果在流偏位非零,其余的当前字节填充0和写了第一。写入后的位偏移量将为0。
s -
shorts被写入数组。
off的起始偏移量的数据。
len -
shorts数写。
IndexOutOfBoundsException -如果
off是负的,
len是负的,或
off + len大于
s.length。
null
s
NullPointerException。
IOException如果I/O错误发生。
void writeChars(char[] c,
int off,
int len)
throws IOException
len是0,什么都不写。焦炭
c[off]是第一次写,然后焦
c[off + 1],等等。流的字节顺序是用来确定单个字节的写入顺序的。
如果在流偏位非零,其余的当前字节填充0和写了第一。写入后的位偏移量将为0。
c -
chars被写入数组。
off的起始偏移量的数据。
len -
chars数写。
IndexOutOfBoundsException -如果
off是负的,
len是负的,或
off + len大于
c.length。
null
c
NullPointerException。
IOException如果I/O错误发生。
void writeInts(int[] i,
int off,
int len)
throws IOException
len是0,什么都不写。int
i[off]是第一次写,然后在
i[off + 1],等等。流的字节顺序是用来确定单个字节的写入顺序的。
如果在流偏位非零,其余的当前字节填充0和写了第一。写入后的位偏移量将为0。
i -
ints被写入数组。
off的起始偏移量的数据。
len -
ints数写。
IndexOutOfBoundsException -如果
off是负的,
len是负的,或
off + len大于
i.length。
null
i
NullPointerException。
IOException如果I/O错误发生。
void writeLongs(long[] l,
int off,
int len)
throws IOException
len是0,什么都不写。长
l[off]是第一次写,那么长的
l[off + 1],等等。流的字节顺序是用来确定单个字节的写入顺序的。
如果在流偏位非零,其余的当前字节填充0和写了第一。写入后的位偏移量将为0。
l -
longs被写入数组。
off的起始偏移量的数据。
len -
longs数写。
IndexOutOfBoundsException -如果
off是负的,
len是负的,或
off + len大于
l.length。
null
l
NullPointerException。
IOException如果I/O错误发生。
void writeFloats(float[] f,
int off,
int len)
throws IOException
len是0,什么都不写。浮
f[off]是第一次写,然后浮
f[off + 1],等等。流的字节顺序是用来确定单个字节的写入顺序的。
如果在流偏位非零,其余的当前字节填充0和写了第一。写入后的位偏移量将为0。
f -
floats被写入数组。
off -在数据的起始偏移量。
len -
floats数写。
IndexOutOfBoundsException -如果
off是负的,
len是负的,或
off + len大于
f.length。
null
f
NullPointerException。
IOException如果I/O错误发生。
void writeDoubles(double[] d,
int off,
int len)
throws IOException
len是0,什么都不写。双
d[off]是第一次写,然后双
d[off + 1],等等。流的字节顺序是用来确定单个字节的写入顺序的。
如果在流偏位非零,其余的当前字节填充0和写了第一。写入后的位偏移量将为0。
d -
doubless被写入数组。
off的起始偏移量的数据。
len -
doubles数写。
IndexOutOfBoundsException -如果
off是负的,
len是负的,或
off + len大于
d.length。
null
d
NullPointerException。
IOException如果I/O错误发生。
void writeBit(int bit)
throws IOException
如果一个特定字节的任何位从来没有被设置在时间的字节被刷新到目的地,这些位将被设置为0自动。
bit -
int其最低有效位被写入到流。
IOException如果I/O错误发生。
void writeBits(long bits,
int numBits)
throws IOException
bits论点的
numBits最低有效位给予正确的顺序,以流现位偏移在当前字节位置。这个论点上
64 - numBits位忽略。位偏移是先进的
numBits降低模8。请注意,0的位偏移量总是表示字节的最显着的位,和字节的位写在序列中,因为它们遇到。因此,位写入总是有效地在网络字节序。将忽略实际的流字节顺序设置。
位数据可以存储在存储器中下去,直到flushBefore叫做。在那个时候,刷新位置之前的所有位数据将被写入。
如果一个特定字节的任何位从来没有被设置在时间的字节被刷新到目的地,这些位将被设置为0自动。
bits -
long含位来写的,从位置
numBits - 1降到最低有效位的位。
numBits - 0和64之间的一个
int,包容。
IllegalArgumentException -如果
numBits不是0和64之间,包容。
IOException如果I/O错误发生。
void flushBefore(long pos)
throws IOException
OutputStream或
File。试图寻找到通红的流部分将导致
IndexOutOfBoundsException。
flushBefore 接口
ImageInputStream
pos -
long含流前缀可能冲到目的地的长度。
IndexOutOfBoundsException -如果
pos在于通红的流部分或过去的当前流的位置。
IOException如果I/O错误发生。
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.