对象和数据 Input/output 流是否会产生冲突?

Does Object and Data Input/output streams creates conflict?

我有这个客户端代码

dOut = new DataOutputStream(socket.getOutputStream());
oos = new ObjectOutputStream(socket.getOutputStream());
dOut.writeByte(2);  <--when readByte on server gives -84
oos.writeObject(rectangle);

如果稍作改动

dOut = new DataOutputStream(socket.getOutputStream());
dOut.writeByte(2);  <--when readByte on server gives 2
oos = new ObjectOutputStream(socket.getOutputStream());
oos.writeObject(rectangle);

为什么会这样? inputstream 中的情况也类似。

是的。数据将无可救药地混淆。

不需要这个。 ObjectOutputStream 已经拥有 DataOutputStream. 的所有方法,您不需要它们。