Пример работы с классом Console
Сегодня я покажу как работать с классом Console
Для начала код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
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!
Для того чтобы запустить программу делаем следующее:
- Открывайте консоль Windows (Пуск->Выполнить->cmd.exe)
- Переходим в директорию /bin нашего проекта
- И запускаем так (Main - это имя главного класса):
123C:\Eclipse\Project\bin> java Main
Результат работы программы должен быть такой:
Как видите, это объект служит для взаимодействия с консолью и позволяет вводить пароли, так же, как это реализовано в *nix подобных системах.
Кроме ввода пароля, можно так же считывать целую строку, что так же демонстрируется в примере.
После ввода пароля мы его используем (например проверяем авторизацию) и тут же затираем звездочками или любыми другими символами. Как видите нет ничего военного.
Author: | Tags: /
| Rating:
Leave a Reply