位置:首页 > Java技术 > Java.io包 > java.io.Console.readPassword(String fmt, Object args)方法实例

java.io.Console.readPassword(String fmt, Object args)方法实例

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.yiibai;

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