您是否可以在同一套接字输出流上拥有PrintWriter
和ObjectOutputStream
?
out_stream = new PrintWriter(socket.getOutputStream(), true);
obj_stream = new ObjectOutputStream(socket.getOutputStream();
答案 0 :(得分:3)
我会说是,但我不认为我会这样做。
你想做什么?
答案 1 :(得分:1)
你可以但你必须要处理缓冲。 PrintWriter
或ObjectOutputStream
接受数据,它将转换为字节,在某个点在基础流(此处为套接字)上发送。缓冲是在写出这样的字节之前稍等一下,这样字节就可以用“大块”而不是单独发送。
阅读关于缓冲的Javadoc,并在flush()
和PrintWriter
上使用ObjectOutputStream
,以确保在套接字上写入字节。