如果我想通过套接字发送一个整数,我应该使用哪个?有什么区别?
Socket socket=new Socket(localhost, 9876);
DataOutputStream writer=new DataOutputStream(socket.getOutputStream());
int i = 10;
writer.write(i);
writer.writeByte(i);
使用writeByte时,是否需要在末尾添加“\ r \ n”?
答案 0 :(得分:3)
功能相同,它们都将参数的八个低级别位写入底层流。
但是writeByte是最终的并且是不同步的,而write不是最终的并且是同步的
此外,DataOutputStream实现DataOutput接口,该接口包含writeByte()和write()方法,并覆盖在其超类FilterOutputStream中声明的write()。这就是DataOutputStream最终有两种不同方法做同样工作的原因......
另请参阅Java Doc
答案 1 :(得分:1)
没有区别。他们做同样的事情。 DataOutputStream
需要实施write(int)
,因为它是OutputStream
类型的一部分。
他们都没有写任何行终止符。