第8章Java 輸入輸出系統(tǒng)ppt課件.ppt

第8章Java 輸入輸出系統(tǒng)ppt課件.ppt

ID:59211060

大?。?18.50 KB

頁數(shù):30頁

時(shí)間:2020-09-26

第8章Java 輸入輸出系統(tǒng)ppt課件.ppt_第1頁
第8章Java 輸入輸出系統(tǒng)ppt課件.ppt_第2頁
第8章Java 輸入輸出系統(tǒng)ppt課件.ppt_第3頁
第8章Java 輸入輸出系統(tǒng)ppt課件.ppt_第4頁
第8章Java 輸入輸出系統(tǒng)ppt課件.ppt_第5頁
資源描述:

《第8章Java 輸入輸出系統(tǒng)ppt課件.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、第8章Java輸入輸出系統(tǒng)8.1字節(jié)流8.2過濾流8.3字符流8.6對(duì)象序列化8.7File類8.8綜合實(shí)例8.4標(biāo)準(zhǔn)I/O8.5隨機(jī)訪問文件類8.1字節(jié)流在java.io包中,java.io.InputStream表示字節(jié)輸入流,它是抽象類,不能實(shí)例化。InputStream類的作用是用來表示那些從不同數(shù)據(jù)源產(chǎn)生輸入的類。這些數(shù)據(jù)源有:字節(jié)數(shù)組、String對(duì)象、文件、管道及其他數(shù)據(jù)源。每一種數(shù)據(jù)源都有相應(yīng)的InputStream子類。輸入流的類層次結(jié)構(gòu)如圖8.1所示。圖8.1輸入流的類層次結(jié)構(gòu)8.1字節(jié)流InputStream中的讀取數(shù)據(jù)的方法如下:abstr

2、actintread()throwsIOException功能:讀取一個(gè)字節(jié)數(shù)據(jù),并返回讀到的數(shù)據(jù),如果返回-1,表示讀到了輸入流的末尾。intread(byte[]b)throwsIOException功能:從輸入流中讀取一定數(shù)量的字節(jié),并將其存儲(chǔ)在緩沖區(qū)數(shù)組b中,并以整數(shù)形式返回實(shí)際讀取的字節(jié)數(shù),如果返回-1,表示讀到了輸入流的末尾。intread(byte[]?b,intoff,intlen)throwsIOException:功能:將數(shù)據(jù)讀入一個(gè)字節(jié)數(shù)組,同時(shí)返回實(shí)際讀取字節(jié)數(shù),如果返回-1,表示讀到了輸入流的末尾。off指定在數(shù)組b中存放數(shù)據(jù)的起始偏移位

3、置,len指定讀取的最大字節(jié)數(shù)。如果返回-1,表示讀到了輸入流的末尾。longskip(longn)throwsIOException:功能:跳過和放棄此輸入流中的n個(gè)字節(jié),返回跳過的實(shí)際字節(jié)數(shù)。如果n為負(fù),則不跳過任何字節(jié)。默認(rèn)實(shí)現(xiàn)是此類的skip方法創(chuàng)建一個(gè)byte數(shù)組,然后重復(fù)將字節(jié)讀入其中,直到讀夠n個(gè)字節(jié)或已到達(dá)流末尾為止。8.1字節(jié)流intavailable()throwsIOException:功能:返回此輸入流下一個(gè)方法調(diào)用可以不受阻塞地從此輸入流讀取(或跳過)的估計(jì)字節(jié)數(shù)。voidclose():功能:關(guān)閉輸入流,釋放和這個(gè)流相關(guān)的系統(tǒng)資源。ja

4、va.io.OutputStream表示字節(jié)輸出流,它也是抽象類,不能被實(shí)例化。字節(jié)輸出流的種類和字節(jié)輸入流是大致對(duì)應(yīng)的。輸出流的類層次結(jié)構(gòu)如圖8.2所示。圖8.2輸出流的類層次結(jié)構(gòu)8.1字節(jié)流OutputStream中的寫入數(shù)據(jù)的方法如下:abstractvoidwrite(intb)throwsIOException:將b的最低的一個(gè)字節(jié)寫入此輸出流,b的高位字節(jié)(3個(gè))丟棄。voidwrite(byte[]b)throwsIOException:將b.length個(gè)字節(jié)從指定的byte數(shù)組寫入此輸出流。voidwrite(byte[]b,intoff,int

5、len)throwsIOException:將指定byte數(shù)組中從偏移量off開始的len個(gè)字節(jié)寫入此輸出流。voidflush()throwsIOException:刷新此輸出流并強(qiáng)制寫出所有緩沖的輸出字節(jié)。voidclose()throwsIOException:關(guān)閉此輸出流并釋放與此流有關(guān)的所有系統(tǒng)資源。8.1.1字節(jié)數(shù)組輸入流ByteArrayInputStream類從內(nèi)存中的字節(jié)數(shù)組中讀取數(shù)據(jù),因此它的數(shù)據(jù)源是一個(gè)字節(jié)數(shù)組。ByteArrayInputStream類本身采用了適配器設(shè)計(jì)模式,它把字節(jié)數(shù)組轉(zhuǎn)換為輸入流類型,使得程序能夠?qū)ψ止?jié)數(shù)組進(jìn)行讀操作。

6、【例8.1】使用字節(jié)數(shù)組輸入流讀取數(shù)組中的字節(jié)。8.1.2字節(jié)數(shù)組輸出流ByteArrayOutputStream類的構(gòu)造方法如下:ByteArrayOutputStream():創(chuàng)建一個(gè)新的字節(jié)數(shù)組輸出流。緩沖區(qū)的容量最初是32字節(jié),如有必要可增加其大小。ByteArrayOutputStream(intsize):創(chuàng)建一個(gè)新的byte數(shù)組輸出流,它具有指定大小的緩沖區(qū)容量(以字節(jié)為單位)。8.1.2字節(jié)數(shù)組輸出流【例8.2】把字符串轉(zhuǎn)換為字節(jié)數(shù)組再寫入到字節(jié)數(shù)據(jù)輸出流中。ByteArrayOutputStreamDemo.javapackageorg.iost

7、ream;importjava.io.*;classByteArrayOutputStreamDemo{publicstaticvoidmain(Stringargs[])throwsIOException{ByteArrayOutputStreambaos=newByteArrayOutputStream();Strings="welcometouseByteArrayOutputStream.";bytebuf[]=s.getBytes();baos.write(buf);//將指定byte數(shù)組中的字節(jié)寫入此byte數(shù)組輸出流System.out.printl

8、n(bao

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。