Das funktioniert:
print "\033[F\r" + "New String"
Der Trick dabei ist: \033[F
ist ein ANSI-Code (die von den meisten Terminals unterstützt wird), um eine Zeile zurückzugehen. Dann, \r
ist es, am Anfang der Zeile zurückzugehen. Von dort aus können Sie die Zeile neu schreiben. Möglicherweise müssen Sie die Zeile mit Leerzeichen auffüllen, um sie korrekt zu löschen.
Ich glaube nicht, dass dies von der Standardkonsole in Windows unterstützt wird ( cmd
), aber es ist sehr wahrscheinlich, dass es in der Powershell funktionieren wird. In Linux (und sehr wahrscheinlich MacOS), sollte ohne jedes Problem funktionieren.
UPDATE
Nach 12 Jahren, seit ich diese Antwort geschrieben habe, scheint es \033[F
funktioniert in meinen Tests nicht mehr. Vielleicht habe ich damals etwas anderes gemacht, an das ich mich jetzt nicht mehr erinnern kann. Die \r
funktioniert zum Beispiel beim Zurücksetzen der Position ohne Probleme:
static void progress(int current, int total) {
double pp = Math.round((current / total) * 10000) / 100;
System.out.print "\rProgress: " + current + "/" + total + " (" + pp + "%) ";
}
die Sie in einer Schleife aufrufen können, um einen Fortschritt anzuzeigen.