Java 6 のコンソールアプリケーション

Java 6ではコンソールアプリケーションの機能も追加されてるんだ。

tarchan> abc
abc

こんな感じのインターフェースを作るとき、いままでは System.in と System.out を組み合わせていたんだけど、Java 6 では System.console が追加されている。

public void Sample()
{
  Console console = System.console();
  String username = System.getProperty("user.name");
  console.printf("Today is %tF%n\n", new Date());
  String input = console.readLine("%s> ", username);
  console.printf("%s\n", input);
}

コンソールアプリケーションを作るときって、標準入出力とは別のポートの入出力も同時に扱うことがあると、in、fin、out、foutみたいに似たような変数が増えちゃってアレなんだけど、これでスッキリかな。