Рубрики

Java.io.Console класс в Java

Класс Java.io.Console предоставляет методы для доступа к символьному консольному устройству, если таковое имеется, связанному с текущей виртуальной машиной Java. Консольный класс был добавлен в java.io JDK 6.

Важные моменты:

  • Он используется для чтения и записи на консоль, если таковая существует.
  • Консоль — это в первую очередь вспомогательный класс, поскольку большая часть ее функций доступна через System.in и System.out. Однако его использование может упростить некоторые типы взаимодействий с консолью, особенно при чтении строк из консоли.
  • Консоль не предоставляет конструкторов. Вместо этого объект Console получается путем вызова System.console (), который показан здесь:
    static  Console console( )

    Если консоль доступна, то ссылка на нее возвращается. В противном случае возвращается ноль. Консоль будет доступна не во всех случаях. Таким образом, если возвращается ноль, консольный ввод-вывод невозможен.

  • Он предоставляет методы для чтения текста и пароля. Если вы читаете пароль с помощью класса Console, он не будет отображаться для пользователя. Класс java.io.Console подключается к системной консоли внутри.

Важные методы:

  • writer: извлекает уникальный объект PrintWriter, связанный с этой консолью.
    Синтаксис:
    public PrintWriter writer() 
    Returns: The printwriter associated with this console
  • reader: извлекает уникальный объект Reader, связанный с этой консолью.
    Синтаксис:
    public Reader reader()  
    Returns: The reader associated with this console
    
  • format: записывает отформатированную строку в выходной поток этой консоли, используя указанную строку формата и аргументы.
    Синтаксис:
    public Console format(String fmt, Object... args)
    Parameters:
    fmt - A format string as described in Format string syntax
    args - Arguments referenced by the format specifiers in the format string. 
    If there are more arguments than format specifiers, the extra arguments are ignored.
    Returns:This console
    Throws: IllegalFormatException 
    
  • printf: удобный метод для записи отформатированной строки в выходной поток этой консоли, используя указанную строку формата и аргументы.
    Синтаксис:
    public Console printf(String format, Object... args)
    Parameters:
    format - A format string as described in Format string syntax.
    args - Arguments referenced by the format specifiers in the format string. 
    If there are more arguments than format specifiers, the extra arguments are ignored.
    Returns:This console
    Throws:IllegalFormatException 
    
  • readLine: предоставляет отформатированное приглашение, затем читает одну строку текста из консоли.
    Синтаксис:
    public String readLine(String fmt,Object... args) 
    Parameters:
    fmt - A format string as described in Format string syntax.
    args - Arguments referenced by the format specifiers in the format string. 
    If there are more arguments than format specifiers, the extra arguments are ignored.
    Returns: A string containing the line read from the console, 
    not including any line-termination characters, or null 
    if an end of stream has been reached.
    Throws:
    IllegalFormatException
    IOError - If an I/O error occurs.
    
  • readLine: читает одну строку текста из консоли.
    Синтаксис:
    public String readLine() 
    Returns: A string containing the line read from the console,
     not including any line-termination characters, or null 
    if an end of stream has been reached.
    Throws: IOError 
    
  • readPassword: предоставляет отформатированное приглашение, затем считывает пароль или фразу-пароль из консоли с отключенным эхом.
    Синтаксис:
    public char[] readPassword(String fmt,Object... args)
    Parameters:
    fmt - A format string as described in Format string syntax for the prompt text.
    args - Arguments referenced by the format specifiers in the format string.
    Returns: A character array containing the password or passphrase read 
    from the console, not including any line-termination characters, or null 
    if an end of stream has been reached.
    Throws:
    IllegalFormatException 
    IOError
  • readPassword: читает пароль или фразу-пароль из консоли с отключенным эхом
    Синтаксис:
    public char[] readPassword()
    Returns: A character array containing the password or passphrase 
    read from the console, not including any line-termination characters, or null 
    if an end of stream has been reached.
    Throws:IOError
  • flush: сбрасывает консоль и принудительно записывает любой буферный вывод.
    Синтаксис:
    public void flush()
    Specified by: flush in interface Flushable

Программа:

// Java-программа для демонстрации консольных методов

  

import java.io.*;

class ConsoleDemo 

{

    public static void main(String args[]) 

    {

        String str;

          

        // Получение ссылки на консоль.

        Console con = System.console();

          

        // Проверка, если нет доступной консоли, затем выход.

        if(con == null

        {

            System.out.print("No console available");

            return;

        }

          

        // Прочитать строку и затем отобразить ее.

        str = con.readLine("Enter your name: ");

        con.printf("Here is your name: %s\n", str);

  

        // прочитать пароль и затем отобразить его

        System.out.println("Enter the password: ");

        char[] ch=con.readPassword();

  

        // преобразование массива char в строку

        String pass = String.valueOf(ch);

        System.out.println("Password is: " + pass);

    }

}

Выход:

Enter your name: Nishant Sharma
Here is your name: Nishant Sharma
Enter the password: 
Password is: dada

Примечание. System.console () возвращает ноль в онлайн-среде.

Эта статья предоставлена Nishant Sharma . Если вы как GeeksforGeeks и хотели бы внести свой вклад, вы также можете написать статью с помощью contribute.geeksforgeeks.org или по почте статьи contribute@geeksforgeeks.org. Смотрите свою статью, появляющуюся на главной странице GeeksforGeeks, и помогите другим вундеркиндам.

Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное или вы хотите поделиться дополнительной информацией по обсуждаемой выше теме.

Рекомендуемые посты:

Java.io.Console класс в Java

0.00 (0%) 0 votes