DataOutput接口用于将来自任何Java基元类型的数据转换为一系列字节,并将这些字节写入二进制流。
还有一种工具可以将String转换为modified UTF-8格式并写入结果字节序列。
对于此接口中写入字节的所有方法,通常如果由于任何原因无法写入某个字节,则抛出IOException 。
将数组
b所有字节写入输出流。
将数组
b
len字节按顺序写入输出流。
将参数
b的八个低位写入输出流。
将
boolean值写入此输出流。
将参数
v的八个低位写入输出流。
将字符串写入输出流。
将
char值(由两个字节组成)写入输出流。
将字符串
s中的每个字符按
s写入输出流,每个字符两个字节。
将
double值写入输出流,该值由8个字节组成。
将
float值写入输出流,该值由四个字节组成。
将
int值写入输出流,该值由四个字节组成。
将
long值写入输出流,该值由8个字节组成。
将两个字节写入输出流以表示参数的值。
将两个字节的长度信息写入输出流,然后是字符串
s中每个字符的
modified UTF-8表示。
将参数b的八个低位写入输出流。
b的24个高位被忽略。
将输出流写入数组b所有字节。
如果b是null ,则抛出NullPointerException 。
如果b.length为零,则不写入任何字节。
否则,首先写入字节b[0] ,然后写入b[1] ,依此类推;
写的最后一个字节是b[b.length-1] 。
将数组b len字节按顺序写入输出流。
如果b是null ,则抛出NullPointerException 。
如果off为负数,或者len为负数,或者off+len大于数组b的长度,则抛出IndexOutOfBoundsException 。
如果len为零,则不写入任何字节。
否则,首先写入字节b[off] ,然后写入b[off+1] ,依此类推;
写的最后一个字节是b[off+len-1] 。
将boolean值写入此输出流。
如果参数v为true ,则写入值(byte)1 ;
如果v是false ,则写入值(byte)0 。
该方法写入的字节可以通过接口DataInput的readBoolean方法读取,然后返回boolean等于v 。
将参数v的八个低位写入输出流。
v的24个高位被忽略。
(这意味着writeByte不完全一样的东西作为write为整数参数。)此方法写入的字节可以由读取readByte接口的方法DataInput ,然后将返回一个byte等于(byte)v 。
将两个字节写入输出流以表示参数的值。
按所示顺序写入的字节值为:
(byte)(0xff & (v >> 8)) (byte)(0xff & v)
该方法写入的字节可以通过接口DataInput的readShort方法读取,然后返回short等于(short)v 。
将char值写入输出流,该值由两个字节组成。
按所示顺序写入的字节值为:
(byte)(0xff & (v >> 8)) (byte)(0xff & v)
该方法写入的字节可以通过接口DataInput的readChar方法读取,然后返回char等于(char)v 。
将int值写入输出流,该值由四个字节组成。
按所示顺序写入的字节值为:
(byte)(0xff & (v >> 24)) (byte)(0xff & (v >> 16)) (byte)(0xff & (v >> 8)) (byte)(0xff & v)
该方法写入的字节可以通过接口DataInput的readInt方法读取,然后返回int等于v 。
将long值写入输出流,该值由8个字节组成。
按所示顺序写入的字节值为:
(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方法读取,然后返回long等于v 。
将float值写入输出流,该值由四个字节组成。
它这样做是因为,如果它首先将这个float值到int在完全相同的方式Float.floatToIntBits方法,然后再写入int在完全相同的方式值writeInt方法。
由该方法写入的字节可以由接口DataInput的readFloat方法读取,然后将返回float等于v 。
将double值写入输出流,该值由8个字节组成。
它这样做是因为,如果它首先将这个double值到long在完全相同的方式Double.doubleToLongBits方法,然后再写入long在完全相同的方式值writeLong方法。
通过该方法写入的字节可以通过接口DataInput的readDouble方法读取,然后返回double等于v 。
将字符串写入输出流。
对于字符串s中的每个字符(按顺序),将一个字节写入输出流。
如果s是null ,则抛出NullPointerException 。
如果s.length为零,则不写入任何字节。 否则,首先写入字符s[0] ,然后写入s[1] ,依此类推; 最后写的字符是s[s.length-1] 。 对于每个字符,写入一个字节,即低位字节,与writeByte方法完全相同。 字符串中每个字符的高位8位被忽略。
将字符串s中的每个字符按s写入输出流,每个字符两个字节。
如果s是null ,则抛出NullPointerException 。
如果s.length为零,则不写入任何字符。
否则,首先写入字符s[0] ,然后写入s[1] ,依此类推;
最后写的字符是s[s.length-1] 。
对于每个字符,实际上写入两个字节,首先是高位字节,完全按照writeChar方法的方式。
将两个字节的长度信息写入输出流,然后是字符串s中每个字符的modified 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的每个字符的一个,两个或三个字节的表示。
由该方法写入的字节可以由接口DataInput的readUTF方法读取,然后将返回String等于s 。
变量和类型
方法
描述
void
将数组
b所有字节写入输出流。
void
将数组
b
len字节按顺序写入输出流。
void
将参数
b的八个低位写入输出流。
void
将
boolean值写入此输出流。
void
将参数
v的八个低位写入输出流。
void
将字符串写入输出流。
void
将
char值(由两个字节组成)写入输出流。
void
将字符串
s中的每个字符按
s写入输出流,每个字符两个字节。
void
将
double值写入输出流,该值由8个字节组成。
void
将
float值写入输出流,该值由四个字节组成。
void
将
int值写入输出流,该值由四个字节组成。
void
将
long值写入输出流,该值由8个字节组成。
void
将两个字节写入输出流以表示参数的值。
void
将两个字节的长度信息写入输出流,然后是字符串
s中每个字符的
modified UTF-8表示。