java Transparancy 2 輸入輸出流(2012).ppt_第1頁(yè)
java Transparancy 2 輸入輸出流(2012).ppt_第2頁(yè)
java Transparancy 2 輸入輸出流(2012).ppt_第3頁(yè)
java Transparancy 2 輸入輸出流(2012).ppt_第4頁(yè)
java Transparancy 2 輸入輸出流(2012).ppt_第5頁(yè)
已閱讀5頁(yè),還剩23頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、輸入輸出流,第二章,2,回顧,集合框架的體系結(jié)構(gòu) 集合類(lèi)和接口,3,目標(biāo),java.io包 InputStream / OutputStream 從一個(gè)流構(gòu)造另一個(gè)流 Reader / Writer,4,java.io包,java.io 包是一組流類(lèi) 分為 字節(jié)流 抽象父類(lèi)是 InputStream 和OutputStream 字符流 抽象父類(lèi)是 Reader 和 Writer,5,InputStream 4-1,抽象類(lèi) 子類(lèi)包括 FileInputStream FilterInputStream ByteArrayInputStream StringBufferInputStream ,6,

2、InputStream 4-2,InputStream 類(lèi)的體系結(jié)構(gòu),7,InputStream 4-3,常用方法 int read() long skip() FileInputStream 類(lèi) 從實(shí)際磁盤(pán)文件讀取數(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 類(lèi) 在字節(jié)數(shù)組中執(zhí)行讀寫(xiě)操作 定義兩種構(gòu)造函數(shù) ByteArrayInputStream b = new ByteArrayInputStream(buf); ByteArrayInputStream b = new ByteArrayInputStream(buf, off, len); StringBufferInputStream 類(lèi) 類(lèi)似于 ByteArrayInputStream,將字符串用作內(nèi)部緩沖器 StringBufferInputStr

4、eam sbif = new StringBufferInputStream(s);,9,OutputStream 5-1,抽象父類(lèi) 定義用于寫(xiě)入字節(jié)或字節(jié)數(shù)組的方法,10,OutputStream 5-2,OutputStream 類(lèi)的體系結(jié)構(gòu),11,OutputStream 5-3,子類(lèi)必須提供寫(xiě)入一個(gè)字節(jié)的方法 常用方法 void write(int) void close() void flush(),12,OutputStream 5-4,FileOutputStream 類(lèi) 創(chuàng)建文件(如果文件不存在),并將數(shù)據(jù)寫(xiě)入文件 構(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 類(lèi) 在內(nèi)存中創(chuàng)建緩沖器 toByteArray( ) 和 toString( ) 方法用于數(shù)據(jù)檢索 構(gòu)造函數(shù) ByteArrayOutputStream o = new ByteArrayOutputStream( ); ByteArrayOutputStream o1 = new ByteArrayOutputStream(i); FilterOutputStream 類(lèi) 高層輸出流 構(gòu)造函數(shù) FilterOutputStream fos = new FilterOutputStream(os);,14,File 類(lèi),提供定位本地文件系統(tǒng)、描述文件和目錄的功能 是 java.

7、io 包中引用實(shí)際磁盤(pán)文件的唯一對(duì)象 構(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,流類(lèi)可以分為 底層流 包含以字節(jié)的形式讀寫(xiě)的方法 高層過(guò)濾器流 用于讀寫(xiě)高層信息 高層流要求底層流作為基礎(chǔ),16,從一個(gè)流構(gòu)造另一個(gè)流 5-2,FilterInp

8、utStream 類(lèi)的子類(lèi)包括 DataInputStream DataOutputStream BufferedInputStream BufferedOutputStream DataInputStream 類(lèi) 提供讀取任意對(duì)象的能力 構(gòu)造函數(shù) DataInputStream is = new DataInputStream(in);,17,從一個(gè)流構(gòu)造另一個(gè)流 5-3,DataOutputStream 類(lèi) 提供寫(xiě)入任意對(duì)象的能力 構(gòu)造函數(shù) DataOutputStream os = new DataOutputStream(out); BufferedInputStream 類(lèi) 允許程序

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 類(lèi) 允許程序一次一個(gè)字節(jié)地向流寫(xiě)入數(shù)據(jù) 構(gòu)造函數(shù) BufferedOutputStream bos = new BufferedOutputStream(out); BufferedOutputStream bos=new BufferedOutput

10、Stream(out, size); PrintStream 類(lèi) 用于寫(xiě)入文本或基本類(lèi)型 構(gòu)造函數(shù) PrintStream ps=new PrintStream(out); PrintStream ps=new PrintStream(out, autoflush);,19,從一個(gè)流構(gòu)造另一個(gè)流 5-5,從底層流構(gòu)造高級(jí)流時(shí)就會(huì)創(chuàng)建流鏈 FileInputStream f = new FileInputStream(你好); BufferedInputStream b = new BufferedInputStream(f); DataInputStream d = new DataInput

11、Stream(b);,20,Reader,讀取字符類(lèi)型 Reader 類(lèi)的體系結(jié)構(gòu),21,Reader的子類(lèi) 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的子類(lèi) 3-2,Stri

12、ngReader 讀取字符串的字符 構(gòu)造函數(shù) public StringReader(String s); CharArrayReader 允許將字符數(shù)組用作輸入 構(gòu)造函數(shù) public CharArrayReader(char ch );,23,Reader的子類(lèi) 3-3,InputStreamReader 從輸入流讀取字節(jié),并將它們轉(zhuǎn)換成字符 構(gòu)造函數(shù) public InputStreamReader(InputStream istream); FilterReader 允許讀取過(guò)濾字符流 構(gòu)造函數(shù) protected FilterReader(Reader r); BufferedRea

13、der 接受Reader 對(duì)象為參數(shù),并對(duì)其添加字符緩沖器 構(gòu)造函數(shù) public BufferedReader(Reader r);,24,Writer,寫(xiě)入字符類(lèi)型 Writer類(lèi)的體系結(jié)構(gòu),25,Writer的子類(lèi) 2-1,FileWriter 允許將字符類(lèi)型數(shù)據(jù)寫(xiě)入文件 構(gòu)造函數(shù) public FileWriter(File f); CharArrayWriter 允許將字符緩沖器用作輸出流 構(gòu)造函數(shù) public CharArrayWriter( );,26,Writer的子類(lèi) 2-2,PrintWriter 包含包含一些使生成格式化輸出變得很簡(jiǎn)單的方法 構(gòu)造函數(shù) public PrintWriter(OutputStream ostream); FilterWriter 用于寫(xiě)入過(guò)濾字符流 構(gòu)造函數(shù) protected FilterWriter(Writer

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論