为什么DataInputStream / DataOutputStream比其他任何Java流使用或首选,比如Buffered编程中的BufferedInputStream / BufferedOutputStream,BufferedReader / BufferedWriter,如Server Client程序?
请解释一下它们之间的区别??
提供DataOutputStream的详细功能(就像它所做的那样)。
明确解释为什么&我们什么时候需要DataInputStream / DataOutputStream ??
先谢谢。
答案 0 :(得分:0)
DataInputStream
/ DataOutputStream
实施DataInput
/ DataOutput
接口,因此有writeShort()
,readInt()
等方法。如果你必须以某些原语(short / int / utf8 string / ...)读取/写入数据而不仅仅是字节,这是非常方便的。
在发送方,您可以执行类似
的操作OutputStream os = ... // let's say you already have it
DataOutputStream dos = new DataOutputSream();
dos.writeInt(42);
在接收方,它是
InputStream is = ... // let's say you already have it
DataInputStream dis = new DataInputStream(is);
int intValue = dis.readInt();
现在intValue
是42.您不必考虑int到字节的转换,字节顺序等等,您只需编写然后使用方便的方法读取它。
答案 1 :(得分:0)
我得到了所有答案,感谢Roman Puchkovskiy。我还发现DataInputStream / DataOutputStream和BufferedReader / BufferedWriter都可以在Socket编程中使用,但是首选使用DataInputStream / DataOutputStream,原因
"如果你必须在某些数据中读/写数据,这是非常方便的 primitives(short / int / utf8 string / ...)而不仅仅是字节。 "正如Roman Puchkovskiy所说。
感谢你们所有人出面帮助我。