點(diǎn)擊查看:2015計(jì)算機(jī)等級(jí)考試二級(jí)Java入門(mén)教程章節(jié)匯總
點(diǎn)擊查看:2015計(jì)算機(jī)等級(jí)考試二級(jí)Java入門(mén)教程第九章匯總
9.4 格式化的流輸入
如我們前面提到的,你可以通過(guò)來(lái)自java.io.包中的StreamTokenizer類(lèi)的格式化輸入得到許多幫助。標(biāo)記(token )是指一個(gè)數(shù)據(jù)項(xiàng),例如一個(gè)數(shù)字或一個(gè)字符串,它通常包含來(lái)自流中的若干個(gè)連續(xù)的字符。由于它可以從流中讀取字符,并且使數(shù)據(jù)成為符合要求的一連串標(biāo)記或數(shù)據(jù)項(xiàng),所以這個(gè)類(lèi)的名字叫做StreamTokenizer.在默認(rèn)情況下,一個(gè)標(biāo)記或者是一個(gè)數(shù)字,它可以包括一個(gè)減號(hào)、阿拉伯?dāng)?shù)字或一個(gè)小數(shù)點(diǎn):或者是兩個(gè)單引號(hào)或雙引號(hào)括起來(lái)的一個(gè)字符串。以字母開(kāi)頭,并且以空格作為定界,由字母、阿拉伯?dāng)?shù)字、小數(shù)點(diǎn)和減號(hào)按任意順序組成一系列字符也作為一個(gè)字符串標(biāo)記處理,并稱(chēng)為一個(gè)字。任何非空格的,設(shè)有用單引號(hào)或雙括號(hào)括起來(lái)而且不是注釋的一部分的其他字符則被讀做null.StrearnTokenizer類(lèi)忽略了Java風(fēng)格的注釋?zhuān)⑨審?/開(kāi)始,或括在/*和*/之間,忽略空格及newline。
你可以從一個(gè)字符輸入流對(duì)象構(gòu)造一個(gè)StreamTokenizer對(duì)象,例如,你可以使用下面的語(yǔ)句構(gòu)造一個(gè)對(duì)應(yīng)標(biāo)準(zhǔn)輸入流的StreamTakenizer對(duì)象。
StreamTokenizer mystream=new streamTokenizer(
new FileReader(FileDescr(ptor.out));
你能夠使一個(gè)標(biāo)記--換句話(huà)說(shuō)是一個(gè)數(shù)據(jù)項(xiàng)--從使用的流中被讀取,并通過(guò)調(diào)用StreamTokenizer對(duì)象的nextToken()方法來(lái)構(gòu)造 StreamTokenizer對(duì)象:
int dataType=mystream.nextToken();
通過(guò)該方法返回的整數(shù)表示所讀標(biāo)記的種類(lèi)。從流中所讀的該標(biāo)記本身存儲(chǔ)在StreamTokenizer對(duì)象的兩個(gè)實(shí)例之一中。如果數(shù)據(jù)項(xiàng)是一個(gè)數(shù)字,它存放在一個(gè)public數(shù)據(jù)成員nval中,類(lèi)型為double.如果數(shù)據(jù)項(xiàng)是一個(gè)括起來(lái)的字符串或一個(gè)字,一個(gè)對(duì)String對(duì)象的引用存放在public數(shù)據(jù)成員sval中,類(lèi)型當(dāng)然是String.有關(guān)把流分解成為token的分解方法是相當(dāng)簡(jiǎn)單的。下面的圖解說(shuō)明了把任意一個(gè)流分解成為標(biāo)記的方法。
我們來(lái)看一下這個(gè)類(lèi)如何從鍵盤(pán)讀數(shù)據(jù)項(xiàng)。
相關(guān)推薦:
2015計(jì)算機(jī)等級(jí)考試二級(jí)Java入門(mén)教程章節(jié)匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |