您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關如何解析JDK 6中Java Console類功能的概覽,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
JDK 6中提供了java.io.Console類專用來訪問基于字符的控制臺設備。如果你的Java程序要與Windows下的cmd或者Linux下的Terminal交互,就可以用這個Java Console類代勞。
TestConsole.java 代碼:
package com.simon.testjdk6.console; import java.io.Console; public class TestConsole { /** * @param args */ public static void main(String[] args) { Console console = System.console(); // 獲得Console實例對象 if (console != null) { // 判斷是否有控制臺的使用權 String user = new String(console.readLine("Enter username:")); // 讀取整行字符 String pwd = new String(console.readPassword("Enter passowrd:")); // 讀取密碼,輸入時不顯示 console.printf("Username is: " + user + "\n"); // 顯示用戶名 console.printf("Password is: " + pwd + "\n"); // 顯示密碼 } else { System.out.println("Console is unavailable."); // 提示無控制臺使用權限 } } }
Java要與Console進行交互,不總是能得到可用的Java Console類的。一個JVM是否有可用的Console,依賴于底層平臺和JVM如何被調用。如果JVM是在交互式命令行(比如Windows的cmd)中啟動的,并且輸入輸出沒有重定向到另外的地方,那么就我們可以得到一個可用的Console實例。
當你有Eclipse或NetBean中運行以上代碼時Console中將會有以下文字輸出:
Console is unavailable.
表示Java程序無法獲得Console實例,是因為JVM不是在命令行中被調用的,或者輸入輸出被重定向了。
在控制臺中運行代碼,效果將如下所示:
$ java com.simon.testjdk6.console.TestConsole Enter user:Simon Enter passowrd: User is:Simon Password is:12345
我們可以看到:輸入密碼時,控制臺時不顯示我們所輸入的密碼字符。但是程序可以得到并輸出的密碼字符串。這就是JDK 6中新增的Java Console類的運行方式。
以上就是如何解析JDK 6中Java Console類功能的概覽,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。