




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、輸入輸出流,第二章,2,回顧,集合框架的體系結(jié)構(gòu) 集合類和接口,3,目標(biāo),java.io包 InputStream / OutputStream 從一個流構(gòu)造另一個流 Reader / Writer,4,java.io包,java.io 包是一組流類 分為 字節(jié)流 抽象父類是 InputStream 和OutputStream 字符流 抽象父類是 Reader 和 Writer,5,InputStream 4-1,抽象類 子類包括 FileInputStream FilterInputStream ByteArrayInputStream StringBufferInputStream ,6,
2、InputStream 4-2,InputStream 類的體系結(jié)構(gòu),7,InputStream 4-3,常用方法 int read() long skip() FileInputStream 類 從實際磁盤文件讀取數(shù)據(jù) FileInputStream f = new FileInputStream(c:/java/temp); File f = new File(c:/java/temp); FileInputStream f1 = new FileInputStream(f); FileDescriptor fd = new FileDescriptor(); FileInputStrea
3、m f2 = new FileInputStream(fd);,8,InputStream 4-4,ByteArrayInputStream 類 在字節(jié)數(shù)組中執(zhí)行讀寫操作 定義兩種構(gòu)造函數(shù) ByteArrayInputStream b = new ByteArrayInputStream(buf); ByteArrayInputStream b = new ByteArrayInputStream(buf, off, len); StringBufferInputStream 類 類似于 ByteArrayInputStream,將字符串用作內(nèi)部緩沖器 StringBufferInputStr
4、eam sbif = new StringBufferInputStream(s);,9,OutputStream 5-1,抽象父類 定義用于寫入字節(jié)或字節(jié)數(shù)組的方法,10,OutputStream 5-2,OutputStream 類的體系結(jié)構(gòu),11,OutputStream 5-3,子類必須提供寫入一個字節(jié)的方法 常用方法 void write(int) void close() void flush(),12,OutputStream 5-4,FileOutputStream 類 創(chuàng)建文件(如果文件不存在),并將數(shù)據(jù)寫入文件 構(gòu)造函數(shù) FileOutputStream f = new F
5、ileOutputStream(c:/java/temp); File f = new File(c:/java/temp); FileOutputStream f1 = new FileOutputStream(f); FileDescriptor() fd = new FileDescriptor(); FileOutputStream f2 = new FileOutputStream(fd); FileOutputStream f = new FileOutputStream(c:/java/temp, true);,13,OutputStream 5-5,ByteArrayOutpu
6、tStream 類 在內(nèi)存中創(chuàng)建緩沖器 toByteArray( ) 和 toString( ) 方法用于數(shù)據(jù)檢索 構(gòu)造函數(shù) ByteArrayOutputStream o = new ByteArrayOutputStream( ); ByteArrayOutputStream o1 = new ByteArrayOutputStream(i); FilterOutputStream 類 高層輸出流 構(gòu)造函數(shù) FilterOutputStream fos = new FilterOutputStream(os);,14,File 類,提供定位本地文件系統(tǒng)、描述文件和目錄的功能 是 java.
7、io 包中引用實際磁盤文件的唯一對象 構(gòu)造函數(shù) File(String pathname); File(String dir, String subpath); File(File dir, String subpath); 常用方法 canRead()、canWrite()、delete()、equals(object)、exists() getAbsolutePath() 和 length(),15,從一個流構(gòu)造另一個流 5-1,流類可以分為 底層流 包含以字節(jié)的形式讀寫的方法 高層過濾器流 用于讀寫高層信息 高層流要求底層流作為基礎(chǔ),16,從一個流構(gòu)造另一個流 5-2,FilterInp
8、utStream 類的子類包括 DataInputStream DataOutputStream BufferedInputStream BufferedOutputStream DataInputStream 類 提供讀取任意對象的能力 構(gòu)造函數(shù) DataInputStream is = new DataInputStream(in);,17,從一個流構(gòu)造另一個流 5-3,DataOutputStream 類 提供寫入任意對象的能力 構(gòu)造函數(shù) DataOutputStream os = new DataOutputStream(out); BufferedInputStream 類 允許程序
9、一次一個字節(jié)地從流讀取數(shù)據(jù) 構(gòu)造函數(shù) BufferedInputStream bis = new BufferedInputStream(in); BufferedInputStream bis = new BufferedInputStream(in, size);,18,從一個流構(gòu)造另一個流 5-4,BufferedOutputStream 類 允許程序一次一個字節(jié)地向流寫入數(shù)據(jù) 構(gòu)造函數(shù) BufferedOutputStream bos = new BufferedOutputStream(out); BufferedOutputStream bos=new BufferedOutput
10、Stream(out, size); PrintStream 類 用于寫入文本或基本類型 構(gòu)造函數(shù) PrintStream ps=new PrintStream(out); PrintStream ps=new PrintStream(out, autoflush);,19,從一個流構(gòu)造另一個流 5-5,從底層流構(gòu)造高級流時就會創(chuàng)建流鏈 FileInputStream f = new FileInputStream(你好); BufferedInputStream b = new BufferedInputStream(f); DataInputStream d = new DataInput
11、Stream(b);,20,Reader,讀取字符類型 Reader 類的體系結(jié)構(gòu),21,Reader的子類 3-1,FileReader 使讀取字符文件成為可能 構(gòu)造函數(shù): FileReader f = new FileReader(c:/java/temp); File f = new File(c:/java/temp); FileReader f1 = new FileReader(f); FileDescriptor fd = new FileDescriptor(); FileReader f2 = new FileReader(fd);,22,Reader的子類 3-2,Stri
12、ngReader 讀取字符串的字符 構(gòu)造函數(shù) public StringReader(String s); CharArrayReader 允許將字符數(shù)組用作輸入 構(gòu)造函數(shù) public CharArrayReader(char ch );,23,Reader的子類 3-3,InputStreamReader 從輸入流讀取字節(jié),并將它們轉(zhuǎn)換成字符 構(gòu)造函數(shù) public InputStreamReader(InputStream istream); FilterReader 允許讀取過濾字符流 構(gòu)造函數(shù) protected FilterReader(Reader r); BufferedRea
13、der 接受Reader 對象為參數(shù),并對其添加字符緩沖器 構(gòu)造函數(shù) public BufferedReader(Reader r);,24,Writer,寫入字符類型 Writer類的體系結(jié)構(gòu),25,Writer的子類 2-1,FileWriter 允許將字符類型數(shù)據(jù)寫入文件 構(gòu)造函數(shù) public FileWriter(File f); CharArrayWriter 允許將字符緩沖器用作輸出流 構(gòu)造函數(shù) public CharArrayWriter( );,26,Writer的子類 2-2,PrintWriter 包含包含一些使生成格式化輸出變得很簡單的方法 構(gòu)造函數(shù) public PrintWriter(OutputStream ostream); FilterWriter 用于寫入過濾字符流 構(gòu)造函數(shù) protected FilterWriter(Writer
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年海棉上膠項目投資可行性研究分析報告
- 第3課 美麗的校園-動畫和視覺效果 教學(xué)設(shè)計-2023-2024學(xué)年遼師大版(2015)信息技術(shù)八年級上冊
- 大學(xué)通識教育的課程設(shè)置優(yōu)化策略
- 呼吸器官(教學(xué)設(shè)計)-2024-2025學(xué)年科學(xué)三年級上冊人教鄂教版
- 二零二五年度解除勞動合同提前通知員工安置合同
- 二零二五年度食用油品牌授權(quán)及銷售合同協(xié)議
- 2025年度醫(yī)院安全保衛(wèi)管理合同范本
- 旅游景區(qū)開發(fā)貸款居間協(xié)議
- 2025年度草原承包合同-草原生態(tài)環(huán)境保護(hù)與生態(tài)移民項目協(xié)議
- 二零二五年度農(nóng)產(chǎn)品貼牌加工與冷鏈物流服務(wù)協(xié)議
- 自愿參加活動免責(zé)申明
- 人教鄂教版-科學(xué)-三年級下冊-知識點
- 字體設(shè)計(上海出版印刷高等??茖W(xué)校) 知到智慧樹網(wǎng)課答案
- 2024-2034年中國注射用賴氨匹林行業(yè)市場競爭格局及投資前景展望報告
- 2024屆浙江省紹興市初中畢業(yè)生學(xué)業(yè)水平調(diào)測科學(xué)模擬試題(一模)含答案
- 供應(yīng)鏈可持續(xù)采購實踐
- 環(huán)境監(jiān)測模擬題(附參考答案)
- 菌菇智慧方艙栽培及食用菌菌包中心生產(chǎn)基地項目可行性研究報告
- 生物工程畢業(yè)設(shè)計開題報告
- 近視防控知識宣教(家長版)-課件
- 園林垃圾處理政策解讀
評論
0/150
提交評論