
- Java.io - Home
- Java.io - BufferedInputStream
- Java.io - BufferedOutputStream
- Java.io - BufferedReader
- Java.io - BufferedWriter
- Java.io - ByteArrayInputStream
- Java.io - ByteArrayOutputStream
- Java.io - CharArrayReader
- Java.io - CharArrayWriter
- Java.io - Console
- Java.io - DataInputStream
- Java.io - DataOutputStream
- Java.io - File
- Java.io - FileDescriptor
- Java.io - FileInputStream
- Java.io - FileOutputStream
- Java.io - FilePermission
- Java.io - FileReader
- Java.io - FileWriter
- Java.io - FilterInputStream
- Java.io - FilterOutputStream
- Java.io - FilterReader
- Java.io - FilterWriter
- Java.io - InputStream
- Java.io - InputStreamReader
- Java.io - LineNumberInputStream
- Java.io - LineNumberReader
- Java.io - ObjectInputStream
- Java.io - ObjectInputStream.GetField
- Java.io - ObjectOutputStream
- io - ObjectOutputStream.PutField
- Java.io - ObjectStreamClass
- Java.io - ObjectStreamField
- Java.io - OutputStream
- Java.io - OutputStreamWriter
- Java.io - PipedInputStream
- Java.io - PipedOutputStream
- Java.io - PipedReader
- Java.io - PipedWriter
- Java.io - PrintStream
- Java.io - PrintWriter
- Java.io - PushbackInputStream
- Java.io - PushbackReader
- Java.io - RandomAccessFile
- Java.io - Reader
- Java.io - SequenceInputStream
- Java.io - SerializablePermission
- Java.io - StreamTokenizer
- Java.io - StringBufferInputStream
- Java.io - StringReader
- Java.io - StringWriter
- Java.io - Writer
- Java.io package Useful Resources
- Java.io - Discussion
Java - Console flush() method
Description
The Java Console flush() method is used to ensure that any buffered output is immediately written to the underlying stream. flush() method of Console ensures immediate display of printed text before buffering delays. It's useful for real-time progress messages and interactive input prompts. It prevents unexpected buffering behavior when printing without a newline.
Declaration
Following is the declaration for java.io.Console.flush() method −
public void flush()
Parameters
NA
Return Value
This method does not return any value.
Exception
NA
Important Note
System.console() may return null in IDEs like Eclipse, NetBeans or IntelliJ. Run these programs from the command line (terminal) for proper execution.
Example - Usage of Console flush() method
The following example shows the usage of Java Console flush() method.
ConsoleDemo.java
package com.tutorialspoint; import java.io.Console; public class ConsoleDemo { public static void main(String[] args) { Console console = null; try { //Create a console object. console = System.console(); // test for console not null if (console != null) { // read line from the console String name = console.readLine("Enter name : "); // print System.out.println("You have entered : " + name); } // flushes console and forces output to be written console.flush(); } catch(Exception ex) { // if any error occurs ex.printStackTrace(); } } }
Console Interaction
Let us compile and run the above program, this will produce the following result −
Master Programmer You have entered : Master Programmer
Example - Ensuring Immediate Output Before a Delay
The following example shows the usage of Java Console flush() method. This example demonstrates using flush() to display text immediately before executing a time-consuming operation.
ConsoleDemo.java
package com.tutorialspoint; import java.io.Console; public class ConsoleDemo { public static void main(String[] args) { Console console = System.console(); if (console != null) { // Print without newline and flush to ensure it's displayed immediately console.writer().print("Processing..."); console.flush(); // Forces immediate display of "Processing..." // Simulating a long-running task try { Thread.sleep(3000); // Simulate 3 seconds delay } catch (InterruptedException e) { e.printStackTrace(); } console.writer().println(" Done!"); // Completes the message console.flush(); } else { System.out.println("No console available."); } } }
Output
Let us compile and run the above program, this will produce the following result −
Processing... Done!
Explanation
console.writer().print("Processing...") prints the text without a newline.
console.flush() forces the buffer to flush, making "Processing..." visible immediately.
A 3-second delay simulates a long-running operation.
After completion, " Done!" is printed.
Without flush(), "Processing..." might not appear until the program completes the delay.
Example - Flushing Output Before User Input
The following example shows the usage of Java Console flush() method. This example ensures that a prompt is displayed before waiting for user input.
ConsoleDemo.java
package com.tutorialspoint; import java.io.Console; public class ConsoleDemo { public static void main(String[] args) { Console console = System.console(); if (console != null) { // Print a prompt message without newline console.writer().print("Enter your name: "); console.flush(); // Ensures the prompt is displayed before waiting for input // Read user input String name = console.readLine(); console.writer().println("Hello, " + name + "!"); console.flush(); } else { System.out.println("No console available."); } } }
Console Interaction
Let us compile and run the above program, this will produce the following result −
Enter your name: Sunil Hello, Sunil!
Explanation
console.writer().print("Enter your name: ") prints a prompt without a newline.
console.flush() ensures the prompt is displayed before waiting for user input.
console.readLine() takes user input.
The program then prints "Hello, <name>!".
Without flush(), the prompt "Enter your name: " might not appear before the program waits for input.