Java中的Scanner類詳解
阿新 • • 發佈:2019-02-07
Scanner類詳解
本文主要介紹Java中Scanner類的原理與用法。
Scanner類的結構:
Scanner類的宣告:
public final class Scanner extends Object implements Iterator<String>
Scanner類的內容
- Scanner類是一個可以使用正則表示式來解析基本型別和字串的簡單文字掃描器。這裡的意思是:Scanner類預設情況下使用空白字元作為輸入的內容定界符,也就是使用內容為空白字元的正則表示式對輸入內容進行分割。
- Scanner類的構造方法可以接受任何型別的輸入物件,包括:File物件,InputStream,Readable,String。(Readable是Java 5中新加入的介面,表示具有read()方法的某種東西)。
- 藉助於Scanner類的正則表示式掃描,所有的輸入、分詞、翻譯的操作都隱藏在不同型別的next方法中。
- Scanner類的next方法簡介:
- 普通的next()方法返回下一個String型別的內容。
- 所有的基本資料型別(char除外)都有相對應的next()方法,包括BigDecimal和BigInteger。
- 所有的next()方法只有再找到一個完成的分詞後才會返回。
- Scanner類還有相對應的hasNext()方法,用於判斷下一個輸入分詞是否是所需的型別。
- Scanner類有一個假設,在輸入結束時會丟擲IOException,而Scanner類會把這個異常吞掉。
- Scanner的定界符:
- 預設情況下Scanner類的定界符為空白字元,可以通過useDelimiter()方法設定定界符。同時,可以使用delimiter()方法返回當前正在作為定界符使用的Pattern物件。