X

Пример работы с классом Console

Сегодня я покажу как работать с классом Console

Для начала код:

public class Main {

 public static void main(String[] args) {

  java.io.Console cons = java.lang.System.console();
  if (cons==null) {
   System.err.println("Can't initialize console!");
   return;
  }

  char[] passwd;

  passwd = cons.readPassword("%s", "Type password:");

  println("Checking password in secret area..");
  println(" -- Password var is: "+String.copyValueOf(passwd));

  println("Rewrite password variable with stars..");
  java.util.Arrays.fill(passwd, '*');

  println(" -- Password var is: "+String.copyValueOf(passwd));

  println("");

  String rl = cons.readLine("%s", "Type few words:");
  println("You type: "+rl);
 }

 public static void println(String str)
 {
  System.out.println(str);
 }

 public static void print(String str)
 {
  System.out.print(str);
 }

}

Теперь важное замечание:

Во время тестирования в Eclipse, я не смог получить объект Console, в таком случае мы получаем ошибку: Can't initialize console!

Для того чтобы запустить программу делаем следующее:

  1. Открывайте консоль Windows (Пуск->Выполнить->cmd.exe)
  2. Переходим в директорию /bin нашего проекта
  3. И запускаем так (Main - это имя главного класса):
    C:\Eclipse\Project\bin> java Main

Результат работы программы должен быть такой:

Как видите, это объект служит для взаимодействия с консолью и позволяет вводить пароли, так же, как это реализовано в *nix подобных системах.
Кроме ввода пароля, можно так же считывать целую строку, что так же демонстрируется в примере.

После ввода пароля мы его используем (например проверяем авторизацию) и тут же затираем звездочками или любыми другими символами. Как видите нет ничего военного.

Категории: Java Java labs
Тэги: consolepassword