




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、輸入輸出流,第二章,2,回顧,集合框架的體系結(jié)構(gòu) 集合類和接口,3,目標(biāo),java.io包 InputStream / OutputStream 從一個(gè)流構(gòu)造另一個(gè)流 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í)際磁盤文件讀取數(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,子類必須提供寫入一個(gè)字節(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 包中引用實(shí)際磁盤文件的唯一對象 構(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è)流構(gòu)造另一個(gè)流 5-1,流類可以分為 底層流 包含以字節(jié)的形式讀寫的方法 高層過濾器流 用于讀寫高層信息 高層流要求底層流作為基礎(chǔ),16,從一個(gè)流構(gòu)造另一個(gè)流 5-2,FilterInp
8、utStream 類的子類包括 DataInputStream DataOutputStream BufferedInputStream BufferedOutputStream DataInputStream 類 提供讀取任意對象的能力 構(gòu)造函數(shù) DataInputStream is = new DataInputStream(in);,17,從一個(gè)流構(gòu)造另一個(gè)流 5-3,DataOutputStream 類 提供寫入任意對象的能力 構(gòu)造函數(shù) DataOutputStream os = new DataOutputStream(out); BufferedInputStream 類 允許程序
9、一次一個(gè)字節(jié)地從流讀取數(shù)據(jù) 構(gòu)造函數(shù) BufferedInputStream bis = new BufferedInputStream(in); BufferedInputStream bis = new BufferedInputStream(in, size);,18,從一個(gè)流構(gòu)造另一個(gè)流 5-4,BufferedOutputStream 類 允許程序一次一個(gè)字節(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è)流構(gòu)造另一個(gè)流 5-5,從底層流構(gòu)造高級流時(shí)就會(huì)創(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)容里面會(huì)有圖紙預(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國離子刻蝕機(jī)市場分析及競爭策略研究報(bào)告
- 2025至2030年中國電子鎮(zhèn)流器多點(diǎn)溫度巡檢儀市場分析及競爭策略研究報(bào)告
- 2025至2030年中國油壓熱壓整形機(jī)市場分析及競爭策略研究報(bào)告
- 2025至2030年中國枸杞提取物市場分析及競爭策略研究報(bào)告
- 2025至2030年中國射流式深井自動(dòng)泵市場分析及競爭策略研究報(bào)告
- 2025至2030年中國衛(wèi)生消毒用品市場分析及競爭策略研究報(bào)告
- 2025至2030年中國乳品加工罐市場分析及競爭策略研究報(bào)告
- 機(jī)電專業(yè)培訓(xùn)
- 幼兒園消毒液培訓(xùn)
- 角膜白斑護(hù)理查房
- 裝飾設(shè)計(jì)公司利潤分析報(bào)告
- 國際貿(mào)易咨詢服務(wù)合作協(xié)議
- 新生兒吸入性肺炎的觀察與護(hù)理
- 醫(yī)院布草洗滌服務(wù)方案(技術(shù)方案)
- 嬰幼兒輔食添加課件
- 單片機(jī)課程設(shè)計(jì)之超聲波測距-電子工程系單片機(jī)課程設(shè)計(jì)報(bào)告
- 寧騷公共政策學(xué)
- 地下室頂板行車與堆載驗(yàn)算與加固方案
- GB/T 37234-2018文件鑒定通用規(guī)范
- 高中英語讀后續(xù)寫教學(xué)策略的探究
- 2022年動(dòng)畫制作行業(yè)分析及未來五至十年行業(yè)發(fā)展報(bào)告
評論
0/150
提交評論