Когда мы должны использовать класс консоли?
Я читал о Console
классе, и в самой первой строке было написано
Новый для Java 6, и когда мы запускаем Java SE 6
из командной строки, мы обычно используем объект класса консоли
Итак, что означает , мы неявно используем консольный класс через командную строку
Затем я начал искать дополнительные сведения о классе консоли и нашел Вход из класса консоли в java и Console. Итак, заключили некоторые моменты
- Класс консоли доступен только вне IDE, используя
System.console().readLine();
-
Console
класс читает пароль или кодовую фразу из консоли с отключенным эхом, используя readPassword()
Хотя у нас был класс сканера и BufferedReader для чтения ввода с консоли и который был добавлен ранее Java 5
. Итак, только из соображений безопасности класс Console
был добавлен в Java 6
? или есть другие преимущества для использования этого класса.
Может ли кто-нибудь поделиться более подробной информацией о классе Console
?
Ответы
Ответ 1
Класс Console читается непосредственно с консоли процесса (обычно/dev/console в Unix-системах). Консоль отличается от System.in тем, что она не может быть перенаправлена при запуске команды. Он также используется для чтения паролей, потому что при чтении с консоли вы можете контролировать, будете ли вы эхом вводить символы.
Чтобы узнать больше об этом классе, прочитайте о консоли и стандартном входе в Unix-системах (это, как правило, вещь Unix, и я не совсем уверен, как она сопоставляется с системами Windows).
Наконец, сканер может читать с любого входа: файл, поток или сама консоль, поэтому он отличается от Консоли.
Ответ 2
Класс Console пытается реализовать независимый от платформы способ обработки с помощью ввода в консоль. У всех ОС есть консоль в любом случае, но они все равно различны в реализации. Таким образом, класс Console предоставляет Java-платформу независимого класса времени выполнения для доступа к таким словам, как ввод пароля и т.д.
Ответ 3
Является ли виртуальная машина консолью, зависит от базовой платформы, а также на том, как виртуальный машина вызывается. Если виртуальная машина запущена с интерактивной командной строки без перенаправления стандартного ввода и то его консоль будет существовать и, как правило, будет подключен к клавиатуре и дисплею, с которого виртуальная машина был запущен. Если виртуальная машина запускается автоматически, для пример с помощью планировщика фоновых заданий, тогда он, как правило, не будет иметь консоль.
Как получить вход из класса консоли на Java?