Tout d'abord, je tiens à m'excuser d'avoir remis cette question sur le tapis, mais j'ai pensé qu'elle méritait une autre réponse.
Derek Schultz a en quelque sorte raison. Le \b Le caractère ' déplace le curseur d'impression d'un caractère en arrière, ce qui vous permet d'écraser le caractère qui était imprimé à cet endroit (il ne supprime pas la ligne entière ni même le caractère qui était là, à moins que vous n'imprimiez de nouvelles informations par-dessus). L'exemple suivant est un exemple de barre de progression utilisant Java ; bien qu'il ne suive pas votre format, il montre comment résoudre le problème principal de l'écrasement des caractères (ceci n'a été testé que dans Ubuntu 12.04 avec Oracle's Java 7 sur une machine 32-bit, mais il devrait fonctionner sur tous les systèmes Java) :
public class BackSpaceCharacterTest
{
// the exception comes from the use of accessing the main thread
public static void main(String[] args) throws InterruptedException
{
/*
Notice the user of print as opposed to println:
the '\b' char cannot go over the new line char.
*/
System.out.print("Start[ ]");
System.out.flush(); // the flush method prints it to the screen
// 11 '\b' chars: 1 for the ']', the rest are for the spaces
System.out.print("\b\b\b\b\b\b\b\b\b\b\b");
System.out.flush();
Thread.sleep(500); // just to make it easy to see the changes
for(int i = 0; i < 10; i++)
{
System.out.print("."); //overwrites a space
System.out.flush();
Thread.sleep(100);
}
System.out.print("] Done\n"); //overwrites the ']' + adds chars
System.out.flush();
}
}