2013-02-17 39 views
6

Wie kann ich Text löschen, der in der Befehlszeile mit Java druckt? Ich möchte Text1 nach Drucken löschen und mit Text2 überschreiben. Ich suche und finde diesen Code, aber es funktioniert nicht.Klartext in der Befehlszeile mit Java

public class className { 

    public static void main(String[] args) throws IOException { 
     System.out.println("Text1"); 
     Runtime.getRuntime().exec("cls"); 
     System.out.println("Text2"); 
    } 
} 
+2

Sie sollten dies lesen http://www.javaworld.com/jw-12-2000/jw-1229-traps.html und das http://alvinalexander.com/java/java-exec-processbuilder- process-1 – duffymo

+2

Dies ist nicht möglich. System.out ist *** nicht *** ein Terminal, es ist nur ein Ausgabestrom. –

+1

[link] (http://sourceforge.net/projects/javacurses/) –

Antwort

8

Sie können dies tun, mit \b Druck:

System.out.print("Text1"); 
System.out.print("\b\b\b\b\b"); 
System.out.print("  "); 

Beachten Sie, dass dies nicht in Eclipse Console arbeiten.

+0

Ich teste es in Netbeans und arbeite nicht Ich versuche in Cmd – Ehsan

+0

zu testen, es funktioniert nicht in Windows cmd auch – Ehsan

+2

Sorry, eine Sache ist vergessen. '\ b' gibt den Cursor einfach einen Platz zurück, so dass Sie nur Leerzeichen drucken müssen. Ich habe das in Windows cmd getestet und es funktioniert. Beachten Sie, dass ich 'print' und' println' verwendet habe! – partlov

0

Sie können einfach die Escape-Sequenz '\ r' (Wagenrücklauf) verwenden.

System.out.print("Text1"); 
System.out.print("\rText2"); 

Würde nur print 'Text2'

0

diese Lösung Versuchen:

new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor(); 

Ich bin mit Windows 8, und diese Lösung funktionierte für mich. Hoffe es dir auch. :)