The code below demonstrates how to create a progress bar in a console program. The trick is to print the progress status using a System.out.print()
and add a carriage return character ("\r"
) at the end of the string to return the cursor position to the beginning of the line and print the next progress status.
package org.kodejava.lang;
public class ConsoleProgressBar {
public static void main(String[] args) {
char[] animationChars = new char[]{'|', '/', '-', '\\'};
for (int i = 0; i <= 100; i++) {
System.out.print("Processing: " + i + "% " + animationChars[i % 4] + "\r");
try {
Thread.sleep(200);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
System.out.println("Processing: Done!");
}
}