Schreiben Sie mit Java an dieselbe Stelle in einem Konsolenfenster

7

Ich möchte ein Zeichen an derselben Stelle in einem Konsolenfenster schreiben.

Die Zeichen, die ich schreiben möchte, sind / - \ _ . Das bringt mir ein kleines Spinner, das ich anzeigen kann, um den Fortschritt oder das Laden anzuzeigen.

Wie können Sie die Zeichen jedoch an denselben Ort schreiben? Andernfalls werden Sie mit etwas wie diesem /-\_/-\_/-\

enden     
user489041 02.05.2011, 16:21
quelle

2 Antworten

17

Mit Java 6 können Sie die Console verwenden Tun Sie etwas wie folgt:

%Vor%

\u0008 ist das spezielle Backspace-Zeichen. Drucken, das das letzte Zeichen in der Zeile löscht. Wenn Sie beginnen, ein | zu drucken und dann \u0008 vor allen anderen Zeichen voranzustellen, erhalten Sie das Verhalten des Spinner.

Beachten Sie, dass dies möglicherweise nicht zu 100% mit allen Konsolen kompatibel ist (und das System.console() kann null ) zurückgeben.

Beachten Sie auch, dass Sie nicht unbedingt die Konsolenklasse verwenden müssen, da das Drucken dieser Sequenz auf die Standardausgabe normalerweise genauso gut funktioniert.

    
Henrik Gustafsson 02.05.2011, 16:37
quelle
2

Ich denke, Java lässt das natürlich nicht zu. Sie müssen eine ewige Bibliothek verwenden. Vielleicht kann Java Curses-Bibliothek Ihnen helfen.

    
MarcoS 02.05.2011 16:27
quelle

Tags und Links