2013-03-07 23 views
5

私はコマンドラインインターフェイスを作っています。私は文字列を出力し、それを変更したい。たとえば、あなたがプログラムを実行すると、それはJavaでprintlnを呼び出すことはできますか?

Hello, World! 

を出力し、数秒後に、しかし、メッセージがに変更されます:

Hello, Computer User! 

このことは可能ですか?クロスOSが望ましいでしょう。

+1

からそれを実行してみてください - http://stackoverflow.com/questions/439799/whats-を参照a-good-java-curses-like-library-for-terminal-applications –

+1

@pst - cursesは正確にクロスOSではありません。 –

+0

@TedHoppしかし、これと同等のJava実装は(または期待できるほどです) - 私が追加したリンクは '[java] curses'を使ってかなり簡単に見つかりました。 –

答えて

5

バックスペースである\bエスケープシーケンスをエコーし​​、古いメッセージの代わりに新しいメッセージを書き込むことができます。

これはコンソール自体であり、それが\bをどのように解釈するかという点では完全にクロスプラットフォームではないかもしれませんが、主に機能するはずです。

+0

私はこれが存在するのか知らなかった。どうもありがとうございます。私は今これを試しに行くつもりです。 – Piccolo

3

それは、Eclipseから動作しないことを

String s1 = "Hello, word!"; 
    System.out.print(s1); 
    Thread.sleep(1000); 
    for(int i = 0; i < s1.length(); i++) { 
     System.out.print('\b'); 
    } 
    System.out.print("Hello, computer user"); 

ノート、 "呪い" を見上げて、コマンドライン

関連する問題