讀取輸入
Scanner類的各種方法可以實現輸入操作。例如,nextLine方法將輸入一行。
想要讀取一個單詞(以空白符作爲分隔符),就調用next方法。
因爲輸入是可見的,所以Scanner類不適用於從控制檯讀取密碼。Java SE 6 特別引入了Console實現這個目的。想要讀取一個密碼,可以採用以下代碼:
Console cons = System.console();
String username = cons.readLine("User name: ");
char[] passwd = cons.readPassword("Password: ");
爲了安全起見,返回的密碼存放在一組字符數組中,而不是字符串中。在對密碼進行處理之後,就應該馬上用一個填充值覆蓋數組元素。
採用Console對象處理輸入不如採用Scanner方便。每次只能讀取一行輸入,而沒有能夠讀取一個單詞或一個數組的方法。
格式化輸出
Java SE 5.0 沿用了C語言庫函數中的printf方法。例如,調用
System.out.printf(%8.2f, x);
可以用8個字符的寬度和小數點後兩個字符的精度打印x。
每一個以%字符開始的格式說明符都用相應的參數替換
另外,還可以給出控制格式化輸出的各種標誌。可以使用多個標誌,例如,”%,(.2f”使用分組的分隔符並將負數括在括號內。
格式說明符的語法如下:
文件輸入與輸出
當指定一個相對文件名時,例如,“myfile.txt”。文件位於Java虛擬機啓動路徑的相對位置。
使用集成開發環境的時候,可以使用下面的調用方式找到路徑的位置:
String dir = System.getProperty("user.dir");
如果覺得定位文件比較煩惱,那就可以考慮使用絕對路徑。