2013-02-17 37 views
6

Javaでコマンドラインに表示されるテキストをクリアする方法は?印刷後にText1を消去し、Text2で上書きしたいとします。私はこのコードを検索して見つけますが、動作しません。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

あなたはこのhttp://www.javaworld.com/jw-12-2000/jw-1229-traps.htmlとこのhttp://alvinalexander.com/java/java-exec-processbuilder- process-1 – duffymo

+2

これは不可能です。 System.outは***ではありません***、それは単なる出力ストリームです。 –

+1

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

答えて

8

あなたは\bを印刷して、これを行うことができます。これはEclipse Consoleに動作しないこと

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

注意を。

+0

netbeansでテストしても動作しません。cmdでテストしようとしました – Ehsan

+0

Windowsのcmdでも動作しません – Ehsan

+2

申し訳ありませんが、忘れたことは1つです。 '\ b'はカーソルを1つだけ戻しますので、スペースを入れてください。私はWindowsのcmdでこれをテストし、うまくいきます。私は 'println'ではなく' print'を使っていました。 – partlov

0

「\ r」(キャリッジリターン)のエスケープシーケンスをそのまま使用することができます。

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

のみ印刷 'テキスト2'

0

は、このソリューションをしようとするだろう:

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

私は、Windows 8を使用していますし、このソリューションは、私のために働きました。それがあなたにもやってくれることを願っています。 :)

関連する問題