为什么在Server Client程序中首选DataOutputStream
why DataOutputStream is preferred in Server Client program
为什么 DataInputStream/DataOutputStream 比任何其他 java 流(如 BufferedInputStream/BufferedOutputStream 、BufferedReader/BufferedWriter 在 Socket 编程(如服务器客户端程序)中使用或更受欢迎?
请解释一下它们的区别??
给出 DataOutputStream 的详细特征(比如它的作用)。
并明确解释为什么以及何时我们需要 DataInputStream/DataOutputStream ??
提前致谢。
DataInputStream
/DataOutputStream
实现 DataInput
/DataOutput
接口,因此具有 writeShort()
、readInt()
等方法。如果您必须 read/write 某些原语(short/int/utf8 字符串/...)而不仅仅是字节的数据,这将非常方便。
在发送端,你做类似的事情
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到bytes的转换,byte order等等,直接写,然后用方便的方法读。
感谢 Roman Puchkovskiy,我得到了所有答案。而且我还发现 DataInputStream/DataOutputStream 和 BufferedReader/BufferedWriter 都可以在 Socket 编程中使用,但是 DataInputStream/DataOutputStream 是首选,因为
" It is very convenient if you have to read/write data in some
primitives (short/int/utf8 string/...) and not just bytes. " as Roman Puchkovskiy said.
感谢大家前来帮助我。
为什么 DataInputStream/DataOutputStream 比任何其他 java 流(如 BufferedInputStream/BufferedOutputStream 、BufferedReader/BufferedWriter 在 Socket 编程(如服务器客户端程序)中使用或更受欢迎?
请解释一下它们的区别??
给出 DataOutputStream 的详细特征(比如它的作用)。
并明确解释为什么以及何时我们需要 DataInputStream/DataOutputStream ??
提前致谢。
DataInputStream
/DataOutputStream
实现 DataInput
/DataOutput
接口,因此具有 writeShort()
、readInt()
等方法。如果您必须 read/write 某些原语(short/int/utf8 字符串/...)而不仅仅是字节的数据,这将非常方便。
在发送端,你做类似的事情
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到bytes的转换,byte order等等,直接写,然后用方便的方法读。
感谢 Roman Puchkovskiy,我得到了所有答案。而且我还发现 DataInputStream/DataOutputStream 和 BufferedReader/BufferedWriter 都可以在 Socket 编程中使用,但是 DataInputStream/DataOutputStream 是首选,因为
" It is very convenient if you have to read/write data in some primitives (short/int/utf8 string/...) and not just bytes. " as Roman Puchkovskiy said.
感谢大家前来帮助我。