Java 我不明白为什么要使用PrintWriter类的flush()方法?

Java 我不明白为什么要使用PrintWriter类的flush()方法?,java,Java,为什么这里的代码在从messageBox字段获取消息后使用PrintWriter类的flush()方法 public void connectToSocket() { try { Socket socket = new Socket("localhost", 80); PrintWriter writer = new PrintWriter(socket.getOutputStream); System.out.println("Conn

为什么这里的代码在从
messageBox
字段获取消息后使用
PrintWriter
类的
flush()
方法

public void connectToSocket() {

    try {
        Socket socket = new Socket("localhost", 80);
        PrintWriter writer = new PrintWriter(socket.getOutputStream);
        System.out.println("Connected Successfully");
    }
    catch(IOException ex) {    
        ex.printStackTrace();
    }
}

public class sendMessageListener implements ActionListener {    
    try {    
         writer.println(messageBox.getText());
         writer.flush();
    }
    catch(IOException ex) {    
         ex.printStackTrace();
    }
}

PrintWriter的默认构造函数不会自动刷新其内容。这意味着它使用内部缓冲区,因为写入操作非常昂贵

如果要将缓冲区立即写入流,只需调用flush方法

如果您使用了自动刷新的构造函数

PrintWriter writer = new PrintWriter(socket.getOutputStream,true);

您不需要调用flush方法,因为只要调用新行命令(本例中为println()),它就会刷新内部缓冲区。

刷新缓冲区。你考虑读java吗?谢谢,现在我明白了:“塞尔阿纳尔库古