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