JavaIO流學(xué)習(xí)總結(jié)報(bào)告_第1頁(yè)
JavaIO流學(xué)習(xí)總結(jié)報(bào)告_第2頁(yè)
JavaIO流學(xué)習(xí)總結(jié)報(bào)告_第3頁(yè)
JavaIO流學(xué)習(xí)總結(jié)報(bào)告_第4頁(yè)
JavaIO流學(xué)習(xí)總結(jié)報(bào)告_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

JavaIO流學(xué)習(xí)總結(jié)報(bào)告

流就是字節(jié)序列的抽象概念,能被連續(xù)讀取數(shù)據(jù)的數(shù)據(jù)源和能被連續(xù)寫入數(shù)據(jù)的接收端就是流,流機(jī)制是Java及C++中的一個(gè)重要機(jī)制,通過(guò)流我們可以自由地掌握文件、內(nèi)存、IO設(shè)備等數(shù)據(jù)的流向。而IO流就是用于處理設(shè)備上的數(shù)據(jù),如:硬盤、內(nèi)存、鍵盤錄入等。IO流依據(jù)處理類型的不同可分為字節(jié)流和字符流,依據(jù)流向的不同可分為輸入流和輸出流。

二、字節(jié)流和字符流的區(qū)分:

字符流,由于文件編碼的不同,就有了對(duì)字符進(jìn)展高效操作的字符流對(duì)象,它的原理就是基于字節(jié)流讀取字節(jié)時(shí)去查了指定的碼表。它和字節(jié)流的區(qū)分有兩點(diǎn):1.在讀取數(shù)據(jù)的時(shí)候,字節(jié)流讀到一個(gè)字節(jié)就返回一個(gè)字節(jié),字符流使用了字節(jié)流讀到一個(gè)或多個(gè)字節(jié)(一個(gè)中文對(duì)應(yīng)的字節(jié)數(shù)是兩個(gè),在UTF-8碼表中是3個(gè)字節(jié))時(shí),先去查指定的編碼表,再將查到的字符返回;2.字節(jié)流可以處理全部類型的數(shù)據(jù),如jpg、avi、mp3、wav等等,而字符流只能處理字符數(shù)據(jù)。所以可以依據(jù)處理的文件不同考慮使用字節(jié)流還是字符流,假如是純文本數(shù)據(jù)可以優(yōu)先考慮字符流,否則使用字節(jié)流。

三、IO體系,所具備的根本功能就是讀和寫:

1.字符流

|--Reader(讀)

|--Writer(寫)

Reader

|--InputStreamReader

|--FileReader:用于處理文件的字符讀取流對(duì)象

Writer

|--OutputStreamWriter

|--FileWriter:用于處理文件的字符寫入流對(duì)象

其實(shí)很簡(jiǎn)單就可以看出來(lái),IO體系中的子類名后綴絕大局部是父類名稱,而前綴則是表達(dá)子類特有功能的名稱。

Reader中常見的方法:

|--intread()

讀取一個(gè)字符,并返回讀到的這個(gè)字符,讀到流的末尾則返回-1。

|--intread(char[])

將讀到的字符存入指定的數(shù)組中,返回的是讀到的字符個(gè)數(shù),讀到流的.末尾則返回-1。|--close()

讀取字符其有用的是window系統(tǒng)的功能,就盼望使用完畢后,進(jìn)展資源的釋放。FileReader除了自己的構(gòu)造函數(shù)外沒(méi)有特有的方法:

|--用于讀取文本文件的流對(duì)象。

|--用于關(guān)聯(lián)文本文件。

在讀取流對(duì)象初始化時(shí),必需要指定一個(gè)被讀取的文件,

假如該文件不存在則會(huì)發(fā)生FileNotFoundException特別。

Writer中常見的方法:

|--write()

將一個(gè)字符寫入到流中。

|--write(char[])

將一個(gè)字符數(shù)組寫入到流中。

|--writer(String)

將一個(gè)字符寫入到流中。

|--flush()

刷新流,將流中的數(shù)據(jù)刷新到目的地中,流還存在。

|--close()

關(guān)閉資源,在關(guān)閉錢會(huì)先調(diào)用flush(),刷新流中的數(shù)據(jù)到目的地。

FileWriter,除了自己的構(gòu)造函數(shù)外沒(méi)有特有的方法:

|--該類的特點(diǎn)

|--用于處理文本文件

|--沒(méi)有默認(rèn)的編碼表

|--有臨時(shí)緩沖

|--構(gòu)造函數(shù),在寫入流對(duì)象初始化時(shí),必需要有一個(gè)存儲(chǔ)數(shù)據(jù)的目的地。

|--FileWriter(StringfileName),該構(gòu)造器是干什么用的呢?

|--調(diào)用系統(tǒng)資源

|--在指定位置創(chuàng)立一個(gè)文件,假如該文件已經(jīng)存在則被掩蓋。

|--FileWriter(Stringfilename,Booleanappend),這構(gòu)造器的作用是當(dāng)傳入的boolean類型的值為true時(shí),會(huì)在指定文件末尾處進(jìn)展數(shù)據(jù)的續(xù)寫。

清單1,將文本數(shù)據(jù)保存到文件中代碼privatestaticvoidtest1(){FileWriterfw=null;

//初始化FileWriter對(duì)象,指定文件名已經(jīng)存儲(chǔ)路徑fw=newFileWriter(D:/test.txt);

fw.write(將字符串寫入流);

//將流中的數(shù)據(jù)刷新到目的地,流還在fw.flush();

fw.write(將字符串寫入流);}catch(IOExceptione){e.printStackTrace();}finally{if(fw!=null){try{fw.close();}catch(IOExceptione1){e1.printStackTrace();}}}

}

清單2,讀取一個(gè)已有文本文件,并將文本內(nèi)容打印出來(lái)代碼privatestaticvoidtest2(){FileReaderfr=null;try{

//初始化FileReader對(duì)象,指定文件路徑fr=newFileReader(D:/test.txt);intch=0;while((ch=fr.read())!=-1){

//每次讀取一個(gè)字符,直到讀到末尾-1為止System.out.println((char)ch);

}catch(IOExceptione){e.printStackTrace();}finally{if(fr!=null){try{fr.close();}catch(IOExceptione1){e1.printStackTrace();}}}

}

這樣每讀到一個(gè)字符就打印出來(lái),效率很不高,能不能按指定大小讀取完后再打印出來(lái)呢?答案是固然可以的。

清單3,讀取一個(gè)已有文本文件,讀完1kb再將其讀到的內(nèi)容打印出來(lái)代碼privatestaticvoidtest3(){FileReaderfr=null;try{

//初始化FileReader對(duì)象,指定文件路徑fr=newFileReader(D:/test.txt);char[]buf=newchar[1024];i

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論