The fmt, Object... args) method provides a formatted prompt, then reads a password from the console with echoing disabled.


Following is the declaration for fmt, Object... args) method −

public char[] readPassword(String fmt, Object... args)


  • fmt − A format string described in Format string syntax for the prompt text.

  • args − Arguments referenced by the format specifiers in the format string.

Return Value

This method returns a character array containing the password read from the console, not including the line termination character, or null if an end of stream has been reached.


  • IllegalFormatException − If a format string contains an illegal syntax, a format specifier that is incompatible with the given arguments, insufficient arguments given the format string, or other illegal conditions.

  • IOError − If an I/O error occurs.


The following example shows the usage of fmt, Object... args) method.

package com.tutorialspoint;


public class ConsoleDemo {

   public static void main(String[] args) {      
      Console cnsl = null;
      String alpha = null;
      String fmt = "%2$5s %3$10s%n";
      try {
         // creates a console object
         cnsl = System.console();

         // if console is not null
         if (cnsl != null) {
            // read line from the user input
            alpha = cnsl.readLine(fmt,"Your","Name: ");
            // prints
            System.out.println("Name is: " + alpha);
            // read password into the char array
            char[] pwd = cnsl.readPassword(fmt,"Enter","Password: ");
            // prints
            System.out.println("Password is: "+pwd);
      } catch(Exception ex) {
         // if any error occurs

Let us compile and run the above program, this will produce the following result −

Your Name: Master Programmer
Name is: Master Programmer
Enter Password: 
Password is: Good Morning