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
java_io_console.htm
广告