點(diǎn)擊查看:2015計(jì)算機(jī)等級(jí)考試二級(jí)Java入門教程章節(jié)匯總
點(diǎn)擊查看:2015計(jì)算機(jī)等級(jí)考試二級(jí)Java入門教程第九章匯總
9.3 字符輸入流 使用字符流讀文件
我們可以讀一下作為字符輸入流部分的練習(xí)而寫的那個(gè)諺語(yǔ)文件,回憶一下我們?cè)炎址L(zhǎng)度寫到處理每一個(gè)諺語(yǔ)的文件中,這個(gè)長(zhǎng)度不是二進(jìn)制數(shù)-我們必須寫一個(gè)與用字符串表示的長(zhǎng)度等價(jià)的數(shù)值型的長(zhǎng)度到文件中,為此,我們必須通過(guò)一些工作計(jì)算出表示字符串長(zhǎng)度的字符在哪兒結(jié)束,以及諺語(yǔ)內(nèi)容從哪兒開始。我們可以用一個(gè)PushBackReader對(duì)象來(lái)完成這件事。
我們可以首先為文件創(chuàng)建一個(gè)File對(duì)象:
string dirName="c:/JunkData"; //Directory for the output file
string fileName="Proverbs.txt"; //Name of the output file
File input=new File(dirName,fileName); //The File object
這里創(chuàng)建了一個(gè)源于String對(duì)象的File對(duì)象,用于目錄和文件名。我們不需要檢驗(yàn)文件是否存在,如果不存在,F(xiàn)ileReader構(gòu)造函數(shù)將拋出一個(gè)NotFoundException異常。
我們過(guò)把FileReader流傳送到一個(gè)sufferedReader流構(gòu)造函數(shù)中來(lái)為這個(gè)流建立緩沖,然后我們通過(guò)下面的語(yǔ)句創(chuàng)建源于sufferedReader對(duì)象的PushBackReader對(duì)象:
PushbackReader in=new PushbackHeader(
new DufferedReader(
new FileReader((input)));
這里創(chuàng)建的PushBackReader對(duì)象只能向流中寫回一個(gè)字符,但這對(duì)我們已經(jīng)足夠用了,如果需要向流中寫回更多的字符,可以使用PushBackReader構(gòu)造函數(shù),它通過(guò)接收第二個(gè)int類型的自變量來(lái)指定可以寫回的最大字符數(shù)。
相關(guān)推薦:
2015計(jì)算機(jī)等級(jí)考試二級(jí)Java入門教程章節(jié)匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |