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

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論