可以在相同的套接字输出流上有PrintWriter
和ObjectOutputStream
吗?
out_stream = new PrintWriter(socket.getOutputStream(), true);
obj_stream = new ObjectOutputStream(socket.getOutputStream();
我会同意,但我不认为我会这么做。
你想做什么?
您可以,但您必须注意缓冲。PrintWriter
或ObjectOutputStream
接受数据,将其转换为字节,在某个点上发送到底层流(这里是套接字)。缓冲就是在写字节之前稍作等待,这样字节就可以以"大块"的形式发送,而不是单独发送。
阅读有关缓冲的Javadoc,当您想确保将字节写入套接字时,在PrintWriter
和ObjectOutputStream
上使用flush()
。