Spec-Zone.ru › OpenJDK 24

Класс Console

java.lang.Object
java.io.Console
Все реализуемые интерфейсы:
Flushable
public sealed class Console extends Object implements Flushable
Методы доступа к символьному консольному устройству, если таковое имеется, связанному с текущей виртуальной машиной Java.

Наличие консоли у виртуальной машины зависит от базовой платформы, а также от способа запуска виртуальной машины. Если виртуальная машина запускается из интерактивной командной строки без перенаправления стандартных потоков ввода и вывода, то её консоль существует и, как правило, подключена к клавиатуре и дисплею, с которых была запущена виртуальная машина. Если виртуальная машина запускается автоматически, например, планировщиком фоновых задач, то у неё может и не быть консоли.

Если у этой виртуальной машины есть консоль, то она представлена уникальным экземпляром этого класса, который можно получить, вызвав метод System.console(). Если консольное устройство недоступно, то вызов этого метода вернёт null.

Операции чтения и записи синхронизированы для обеспечения атомарного завершения критических операций; поэтому вызов методов readLine(), readPassword(), format(), printf(), а также операции чтения, форматирования и записи над объектами, возвращаемыми reader() и writer(), могут заблокироваться в многопоточных сценариях.

Операции форматирования строк чувствительны к локали, используя либо указанную Locale, либо default format Locale для создания локализованных форматированных строк.

Вызов close() на объектах, возвращаемых reader() и writer(), не закроет базовый поток этих объектов.

Методы консольного чтения возвращают null, когда достигается конец потока ввода консоли, например, набравши control-D в Unix или control-Z в Windows. Последующие операции чтения будут успешными, если дополнительные символы позже будут введены в устройство ввода консоли.

Если не указано иное, передача null аргумента любому методу в этом классе вызовет исключение NullPointerException.

Примечание по безопасности: Если приложению необходимо считать пароль или другие защищённые данные, оно должно использовать readPassword() или readPassword(String, Object...) и вручную обнулить возвращённый массив символов после обработки, чтобы свести к минимуму время жизни конфиденциальных данных в памяти.

Console cons;
char[] passwd;
if ((cons = System.console()) != null &&
    (passwd = cons.readPassword("[%s]", "Password:")) != null) {
    ...
    java.util.Arrays.fill(passwd, ' ');
}
С:
1.6

Краткое описание методов

Модификатор и тип Метод Описание
Charset charset()
Возвращает объект Charset, используемый для Console.
void flush()
Очищает консоль и заставляет любой буферизованный вывод быть записанным немедленно.
Console format(String format, Object... args)
Записывает форматированную строку в поток вывода этой консоли, используя указанную строку форматирования и аргументы с использованием default format locale.
Console format(Locale locale, String format, Object... args)
Записывает форматированную строку в поток вывода этой консоли, используя указанную строку форматирования и аргументы с указанной locale.
boolean isTerminal()
Возвращает true, если экземпляр Console является терминалом.
Console print(Object obj)
Предварительный просмотр.
Записывает строковое представление указанного объекта в поток вывода этой консоли, а затем очищает консоль.
Console printf(String format, Object... args)
Удобный метод для записи форматированной строки в поток вывода этой консоли, используя указанную строку форматирования и аргументы с использованием default format locale.
Console printf(Locale locale, String format, Object... args)
Удобный метод для записи форматированной строки в поток вывода этой консоли, используя указанную строку форматирования и аргументы с указанной locale.
Console println()
Предварительный просмотр.
Завершает текущую строку в потоке вывода этой консоли, используя System.lineSeparator(), а затем очищает консоль.
Console println(Object obj)
Предварительный просмотр.
Записывает строковое представление указанного объекта в поток вывода этой консоли, завершает строку с использованием System.lineSeparator(), а затем очищает консоль.
Reader reader()
Возвращает уникальный объект Reader, связанный с этой консолью.
String readLine()
Считывает строку текста из консоли.
String readLine(String format, Object... args)
Предоставляет форматированный запрос с использованием default format locale, а затем считывает строку текста из консоли.
String readLine(Locale locale, String format, Object... args)
Предоставляет форматированный запрос, используя указанную locale, а затем считывает строку текста из консоли.
String readln()
Предварительный просмотр.
Считывает строку текста из этой консоли.
String readln(String prompt)
Предварительный просмотр.
Выводит запрос, как если бы вызывался print, а затем считывает строку текста из этой консоли.
char[] readPassword()
Считывает пароль или пароль из консоли с отключенным отображением.
char[] readPassword(String format, Object... args)
Предоставляет форматированный запрос с использованием default format locale, а затем считывает пароль или пароль из консоли с отключенным отображением.
char[] readPassword(Locale locale, String format, Object... args)
Предоставляет форматированный запрос, используя указанную locale, а затем считывает пароль или пароль из консоли с отключенным отображением.
PrintWriter writer()
Возвращает уникальный объект PrintWriter, связанный с этой консолью.

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Подробное описание методов

writer

public PrintWriter writer()
Получает уникальный объект PrintWriter, связанный с этим консолью.
Возвращает:
Объект printwriter, связанный с этой консолью

reader

public Reader reader()
Получает уникальный объект Reader, связанный с этой консолью.

Этот метод предназначен для использования в сложных приложениях, например, объектом Scanner, который использует богатые возможности разбора/сканирования, предоставляемые Scanner:

    Console con = System.console();
    if (con != null) {
        Scanner sc = new Scanner(con.reader());
        ...
    }

Для простых приложений, требующих только построчного чтения, используйте readLine(java.lang.String, java.lang.Object...).

Операции пакетного чтения read(char[]), read(char[], int, int) и read(java.nio.CharBuffer) над возвращённым объектом не будут читать символы, выходящие за пределы строки для каждого вызова, даже если буфер назначения имеет место для большего количества символов. Методы Reader для read могут заблокироваться, если граница строки не была введена или достигнута на устройстве ввода консоли. Границей строки считается любой из перечисленных символов: символ новой строки ('\n'), символ возврата каретки ('\r'), символ возврата каретки, за которым сразу следует символ новой строки, или конец потока.

Возвращает:
Объект reader, связанный с этой консолью

println

public Console println(Object obj)
println — это предварительная версия API платформы Java.
Программы могут использовать println только при включённых предварительных функциях.
Предварительные функции могут быть удалены в будущих выпусках или обновлены до постоянных функций платформы Java.
Записывает строковое представление указанного объекта в выходной поток этой консоли, завершает строку с помощью System.lineSeparator() и затем сбрасывает консоль.

Строковое представление указанного объекта получается так, как если бы было вызвано String.valueOf(Object).

Параметры:
obj - Объект, чьё строковое представление должно быть записано, может быть null.
Возвращает:
Эта консоль
С:
23

println

public Console println()
println — это предварительная версия API платформы Java.
Программы могут использовать println только при включённых предварительных функциях.
Предварительные функции могут быть удалены в будущих выпусках или обновлены до постоянных функций платформы Java.
Завершает текущую строку в выходном потоке этой консоли с помощью System.lineSeparator() и затем сбрасывает консоль.
Возвращает:
Эта консоль
С:
24

print

public Console print(Object obj)
print — это предварительная версия API платформы Java.
Программы могут использовать print только при включённых предварительных функциях.
Предварительные функции могут быть удалены в будущих выпусках или обновлены до постоянных функций платформы Java.
Записывает строковое представление указанного объекта в выходной поток этой консоли и затем сбрасывает консоль.

Строковое представление указанного объекта получается так, как если бы было вызвано String.valueOf(Object).

Параметры:
obj - Объект, чьё строковое представление должно быть записано, может быть null.
Возвращает:
Эта консоль
С:
23

readln

public String readln(String prompt)
readln — это предварительная версия API платформы Java.
Программы могут использовать readln только при включённых предварительных функциях.
Предварительные функции могут быть удалены в будущих выпусках или обновлены до постоянных функций платформы Java.
Выводит запрос, как если бы был вызван print, затем считывает одну строку текста из этой консоли.
Параметры:
prompt - Строка запроса, может быть null.
Возвращает:
Строка, содержащая прочитанную строку из консоли, без символов завершения строки, или null, если конец потока был достигнут без считывания каких-либо символов.
Исключения:
IOError - Если произошла ошибка ввода-вывода.
С:
23

readln

public String readln()
readln — это предварительная версия API платформы Java.
Программы могут использовать readln только при включённых предварительных функциях.
Предварительные функции могут быть удалены в будущих выпусках или обновлены до постоянных функций платформы Java.
Считывает одну строку текста из этой консоли.
Возвращает:
Строка, содержащая прочитанную строку из консоли, без символов завершения строки, или null, если конец потока был достигнут без считывания каких-либо символов.
Исключения:
IOError - Если произошла ошибка ввода-вывода.
С:
24

format

public Console format(String format, Object... args)
Записывает отформатированную строку в выходной поток этой консоли, используя указанную строку формата и аргументы с помощью default format locale.
Параметры:
format - Строка формата, как описано в Format string syntax.
args - Аргументы, на которые ссылаются спецификаторы формата в строке формата. Если аргументов больше, чем спецификаторов формата, лишние аргументы игнорируются. Количество аргументов переменное и может быть нулевым. Максимальное количество аргументов ограничено максимальным размером массива Java, определённым в Спецификации виртуальной машины Java. Поведение с аргументом null зависит от conversion.
Возвращает:
Эта консоль
Исключения:
IllegalFormatException - Если строка формата содержит некорректный синтаксис, спецификатор формата, несовместимый с заданными аргументами, недостаточно аргументов для строки формата или другие некорректные условия. Подробное описание всех возможных ошибок форматирования см. в разделе Details спецификации класса formatter.

format

public Console format(Locale locale, String format, Object... args)
Записывает отформатированную строку в выходной поток этой консоли, используя указанную строку формата и аргументы с указанным locale.
Параметры:
locale - Локаль, которая должна быть применена при форматировании. Если locale является null, то локализация не применяется.
format - Строка формата, как описано в Format string syntax.
args - Аргументы, на которые ссылаются спецификаторы формата в строке формата. Если аргументов больше, чем спецификаторов формата, лишние аргументы игнорируются. Количество аргументов переменное и может быть нулевым. Максимальное количество аргументов ограничено максимальным размером массива Java, определённым в Спецификации виртуальной машины Java. Поведение с аргументом null зависит от conversion.
Возвращает:
Эта консоль
Исключения:
IllegalFormatException - Если строка формата содержит некорректный синтаксис, спецификатор формата, несовместимый с заданными аргументами, недостаточно аргументов для строки формата или другие некорректные условия. Подробное описание всех возможных ошибок форматирования см. в разделе Details спецификации класса formatter.
С:
23

printf

public Console printf(String format, Object... args)
Удобный метод для записи отформатированной строки в поток вывода этой консоли, используя указанную строку форматирования и аргументы с default format locale.
Требования к реализации:
Это то же самое, что вызов format(format, args).
Параметры:
format - Строка форматирования, как описано в Format string syntax.
args - Аргументы, на которые ссылаются спецификаторы форматирования в строке форматирования. Если аргументов больше, чем спецификаторов форматирования, лишние аргументы игнорируются. Количество аргументов переменное и может быть нулевым. Максимальное количество аргументов ограничено максимальным размером массива Java, определённым в Спецификации виртуальной машины Java. Поведение с null аргументом зависит от conversion.
Возвращает:
Эту консоль
Исключение:
IllegalFormatException - Если строка форматирования содержит недопустимый синтаксис, спецификатор форматирования несовместим с заданными аргументами, недостаточно аргументов для заданной строки форматирования или другие недопустимые условия. Для спецификации всех возможных ошибок форматирования см. раздел Details спецификации класса formatter.

printf

public Console printf(Locale locale, String format, Object... args)
Удобный метод для записи отформатированной строки в поток вывода этой консоли, используя указанную строку форматирования и аргументы с указанным locale.
Требования к реализации:
Это то же самое, что вызов format(locale, format, args).
Параметры:
locale - Локаль, которая должна быть применена во время форматирования. Если locale равна null, то локализация не применяется.
format - Строка форматирования, как описано в Format string syntax.
args - Аргументы, на которые ссылаются спецификаторы форматирования в строке форматирования. Если аргументов больше, чем спецификаторов форматирования, лишние аргументы игнорируются. Количество аргументов переменное и может быть нулевым. Максимальное количество аргументов ограничено максимальным размером массива Java, определённым в Спецификации виртуальной машины Java. Поведение с null аргументом зависит от conversion.
Возвращает:
Эту консоль
Исключение:
IllegalFormatException - Если строка форматирования содержит недопустимый синтаксис, спецификатор форматирования несовместим с заданными аргументами, недостаточно аргументов для заданной строки форматирования или другие недопустимые условия. Для спецификации всех возможных ошибок форматирования см. раздел Details спецификации класса formatter.
С:
23

readLine

public String readLine(String format, Object... args)
Предоставляет отформатированный запрос, используя default format locale, затем считывает одну строку текста из консоли.
Параметры:
format - Строка форматирования, как описано в Format string syntax.
args - Аргументы, на которые ссылаются спецификаторы форматирования в строке форматирования. Если аргументов больше, чем спецификаторов форматирования, лишние аргументы игнорируются. Количество аргументов переменное и может быть нулевым. Максимальное количество аргументов ограничено максимальным размером массива Java, определённым в Спецификации виртуальной машины Java. Поведение с null аргументом зависит от conversion.
Возвращает:
Строку, содержащую строку, считанную из консоли, не включая символы завершения строки, или null, если достигнут конец потока.
Исключение:
IllegalFormatException - Если строка форматирования содержит недопустимый синтаксис, спецификатор форматирования несовместим с заданными аргументами, недостаточно аргументов для заданной строки форматирования или другие недопустимые условия. Для спецификации всех возможных ошибок форматирования см. раздел Details спецификации класса formatter.
IOError - Если произошла ошибка ввода-вывода.

readLine

public String readLine(Locale locale, String format, Object... args)
Предоставляет отформатированный запрос, используя указанную locale, затем считывает одну строку текста из консоли.
Параметры:
locale - Локаль, которая должна быть применена во время форматирования. Если locale равна null, то локализация не применяется.
format - Строка форматирования, как описано в Format string syntax.
args - Аргументы, на которые ссылаются спецификаторы форматирования в строке форматирования. Если аргументов больше, чем спецификаторов форматирования, лишние аргументы игнорируются. Количество аргументов переменное и может быть нулевым. Максимальное количество аргументов ограничено максимальным размером массива Java, определённым в Спецификации виртуальной машины Java. Поведение с null аргументом зависит от conversion.
Возвращает:
Строку, содержащую строку, считанную из консоли, не включая символы завершения строки, или null, если достигнут конец потока.
Исключение:
IllegalFormatException - Если строка форматирования содержит недопустимый синтаксис, спецификатор форматирования несовместим с заданными аргументами, недостаточно аргументов для заданной строки форматирования или другие недопустимые условия. Для спецификации всех возможных ошибок форматирования см. раздел Details спецификации класса formatter.
IOError - Если произошла ошибка ввода-вывода.
С:
23

readLine

public String readLine()
Считывает одну строку текста из консоли.
Возвращает:
Строку, содержащую строку, считанную из консоли, не включая символы завершения строки, или null, если достигнут конец потока.
Исключение:
IOError - Если произошла ошибка ввода-вывода.

readPassword

public char[] readPassword(String format, Object... args)
Предоставляет отформатированный запрос, используя default format locale, затем считывает пароль или пароль доступа из консоли без отображения введенного текста.
Параметры:
format - Строка форматирования, как описано в Format string syntax для текста запроса.
args - Аргументы, на которые ссылаются спецификаторы форматирования в строке форматирования. Если аргументов больше, чем спецификаторов форматирования, лишние аргументы игнорируются. Количество аргументов переменное и может быть нулевым. Максимальное количество аргументов ограничено максимальным размером массива Java, определённым в Спецификации виртуальной машины Java. Поведение с null аргументом зависит от conversion.
Возвращает:
Массив символов, содержащий пароль или пароль доступа, считанный из консоли, не включая символы завершения строки, или null, если достигнут конец потока.
Исключение:
IllegalFormatException - Если строка форматирования содержит недопустимый синтаксис, спецификатор форматирования несовместим с заданными аргументами, недостаточно аргументов для заданной строки форматирования или другие недопустимые условия. Для спецификации всех возможных ошибок форматирования см. раздел Details спецификации класса formatter.
IOError - Если произошла ошибка ввода-вывода.

readPassword

public char[] readPassword(Locale locale, String format, Object... args)
Предоставляет отформатированный запрос, используя указанную locale, затем считывает пароль или пароль доступа из консоли без отображения введенного текста.
Параметры:
locale - Локаль, которая должна быть применена во время форматирования. Если locale равна null, то локализация не применяется.
format - Строка форматирования, как описано в Format string syntax для текста запроса.
args - Аргументы, на которые ссылаются спецификаторы форматирования в строке форматирования. Если аргументов больше, чем спецификаторов форматирования, лишние аргументы игнорируются. Количество аргументов переменное и может быть нулевым. Максимальное количество аргументов ограничено максимальным размером массива Java, определённым в Спецификации виртуальной машины Java. Поведение с null аргументом зависит от conversion.
Возвращает:
Массив символов, содержащий пароль или пароль доступа, считанный из консоли, не включая символы завершения строки, или null, если достигнут конец потока.
Исключение:
IllegalFormatException - Если строка форматирования содержит недопустимый синтаксис, спецификатор форматирования несовместим с заданными аргументами, недостаточно аргументов для заданной строки форматирования или другие недопустимые условия. Для спецификации всех возможных ошибок форматирования см. раздел Details спецификации класса formatter.
IOError - Если произошла ошибка ввода-вывода.
С:
23

readPassword

public char[] readPassword()
Считывает пароль или фразу из консоли с отключенным отображением.
Возвращает:
Символьный массив, содержащий считанный из консоли пароль или фразу без символов завершения строки, или null, если достигнут конец потока.
Имеет исключение:
IOError — если произошла ошибка ввода-вывода.

flush

public void flush()
Очищает консоль и заставляет любые буферизованные данные вывода быть записанными немедленно.
Определено в:
flush в интерфейсе Flushable

charset

public Charset charset()
Возвращает объект Charset, используемый для Console.

Возвращаемый набор символов соответствует источнику ввода и вывода (например, клавиатуре и/или дисплею), указанному средой или пользователем хоста, по умолчанию основанному на stdout.encoding. Он необязательно должен совпадать с набором символов по умолчанию, возвращаемым из Charset.defaultCharset().

Возвращает:
объект Charset, используемый для Console
С тех пор как:
17

isTerminal

public boolean isTerminal()
Возвращает true, если экземпляр Console является терминалом.

Этот метод возвращает true, если устройство консоли, связанное с текущей виртуальной машиной Java, является терминалом, обычно интерактивной командной строкой, подключённой к клавиатуре и дисплею.

Замечание об имплементации:
По умолчанию реализация возвращает значение, эквивалентное вызову isatty(stdin/stdout) на платформах POSIX, или является ли стандартный вход/выход файловыми устройствами символьного типа или нет на Windows.
Возвращает:
true, если экземпляр Console является терминалом
С тех пор как:
22

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://download.java.net/java/early_access/jdk24/docs/api/java.base/java/io/Console.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API