Рубрики
Без рубрики

Менее известный API для консольного ввода в Java

В наши дни с наличием многочисленных приложений на основе графического интерфейса и веб-приложений, получающих ввод и данные через c… Помеченный java, консолью, api.

В наши дни с появлением многочисленных приложений на основе графического интерфейса и веб-приложений объем ввода и данных через консоль сократился. Однако существуют приложения, которые требуют и запускаются в консоли. Приложения Java не являются исключением из этого правила.

Получение ввода от пользователя было не так просто в Java, как в других языках, таких как scanf в C, cin в C++ и метод input() в Python. В первые дни приходилось писать такой код

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
br.read(...)

Конструкция BufferedReader сама по себе достаточна, чтобы напугать начинающего программиста Java.

Однако с Java 6 – да, вы слышали меня Java 6 – у нас появился новый API, который значительно упростил ввод с консоли, но мир программистов в основном придерживался старого способа, и это было наименее известно.

Строка.консоль().Строка чтения();

что менее страшно, чем предыдущее. Кроме того, он также обеспечивает чтение ввода на основе строк формата C, а также для интерактивного ввода, так что вы можете сделать что-то вроде

Console console = System.console();
String name = console.readLine("Please enter your name: ");
System.console().readLine("Where do you live %s?", name);

Когда мы запустим код, мы увидим что-то вроде этого

Please enter your name: Gordon
Where do you live Gordon?:

Другим замечательным методом класса console является read Password() , который позволяет получать пароль от пользователя с отключенным эхом, когда пользователь вводит пароль.

Класс Console также предоставляет объект Reader для чтения обычным способом, а также объект Writer. Однако загвоздка в том, что для запуска основной программы требуется терминал. Если он выполняется фоновой задачей, метод System.console() возвращает значение null.

Счастливого кодирования!

Кредиты на изображение: Пиксабей

Оригинал: “https://dev.to/rprabhu/the-less-known-api-for-console-input-in-java-104b”