コマンドラインインターフェースを作っているとしましょう。文字列を印刷してから変更したい。たとえば、プログラムを実行すると、次のように出力されます。
Hello, World!
ただし、数秒後、メッセージは次のように変更されます。
Hello, Computer User!
これは可能ですか?クロスOSが望ましいでしょう。
コマンドラインインターフェースを作っているとしましょう。文字列を印刷してから変更したい。たとえば、プログラムを実行すると、次のように出力されます。
Hello, World!
ただし、数秒後、メッセージは次のように変更されます。
Hello, Computer User!
これは可能ですか?クロスOSが望ましいでしょう。
バックスペースであるエスケープ シーケンスをエコーし\b
、古いメッセージの代わりに新しいメッセージを書き出すことができます。
コンソール自体とその解釈方法次第であるため、これは完全にクロスプラットフォームではない可能性があることに注意してください。ただし、\b
ほとんどの場合は機能するはずです。
試す
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");
Eclipse からは機能しないことに注意してください。コマンド ラインから実行してください。