Java.io.Console.readPassword() 方法

描述

java.io.Console.readPassword(String fmt, Object... args) 方法提供格式化提示,然后从禁用回显的控制台读取密码。


声明

以下是 java.io.Console.readPassword(String fmt, Object... args) 方法的声明 −

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

参数

  • fmt − 提示文本的格式字符串语法中描述的格式字符串。

  • args − 格式字符串中的格式说明符引用的参数。


返回值

此方法返回一个字符数组,其中包含从控制台读取的密码,不包括行终止字符,如果已到达流的结尾,则返回 null。


异常

  • IllegalFormatException − 如果格式字符串包含非法语法、与给定参数不兼容的格式说明符、给定格式字符串的参数不足或其他非法条件。

  • IOError − 如果发生 I/O 错误。


示例

下面的例子展示了 java.io.Console.readPassword(String fmt, Object... args) 方法的使用。

package com.tutorialspoint;

import java.io.Console;

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
         ex.printStackTrace();      
      }
   }
}

让我们编译并运行上面的程序,这将产生下面的结果 −

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