数据输出流方法 writeByte(int),顾名思义,在流上写入一个字节 int。
这有什么限制?是 256 还是有符号并且是 -128 到 127?
writeByte(int)
调用write(int)
。的文档write(int)
says:
将指定字节(参数 b 的低八位)写入
底层输出流。
因此,整数的范围并不重要int
论点在于。相差数倍的两个论点256
将导致写入相同的字节。
测试这一点的一种简单方法是使用ByteArrayOutputStream
。试试这个程序:
public static void main(String[] args) throws IOException {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream dos = new DataOutputStream(baos);
dos.writeByte(-128);
dos.writeByte(-128 + 256);
System.out.println(Arrays.toString(baos.toByteArray()));
}
输出是[-128, -128]
因为同样byte
已经写了两次了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)