java output用法,java11教程--类DataOutput用法

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表示。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值