PrintWriter print vs println

时间:2016-01-08 17:00:45

标签: java sockets printing printwriter

使用

时,我有一台等待消息的服务器和一个向他发送消息的客户端
    PrintWriter out = new PrintWriter(lpSocket.getOutputStream(), true);
    String msg;
    BufferedReader userIn = new BufferedReader(new InputStreamReader(System.in));
    while ((msg = userIn.readLine()) != null)
        out.print(msg + (char) 10);

没有任何反应,这意味着服务器只是等待一条永不到来的消息。当我将out.print更改为out.println时,它可以正常工作。

我想知道为什么

1 个答案:

答案 0 :(得分:3)

默认情况下,PrintWriter会在flush中调用println,而print中则不会out.flush()。您可以在out.print电话

之后添加GRAPHREP PEN color:$000000 w:2pt FILL color:$ff7f00 ELLIPSE x:0pt y:0pt rx:114pt ry:70pt 来解决此问题