教案day筆記day22總結io_第1頁
教案day筆記day22總結io_第2頁
教案day筆記day22總結io_第3頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1:IO 流(1)分類字節(jié)流:輸入流:InputStreamread() read(byte bys)FileInputStream BufferedInputStream輸出流:OutputStreamwrite(by)write(byte bys,index,len)FileOutputStreamBufferedOutputStream字符流:輸入流:Readerread() read(char chs)FileReader BufferedReaderString readLine()輸出流:Writerwrite(ch)write(char chs,index,len)FileWri

2、terBufferedWriter write(String line) void newLine()(2)到底使用誰?如果能用記事本打開,不出現亂碼,就優(yōu)先使用字符流;否則用字節(jié)流。確定上面的情況以后,一般都是用高效流(Bufferedx)(3)文本文件:9 種方式:字節(jié)流:4 種基本流每次操作一個字節(jié)基本流每次操作一個字節(jié)數組高效流每次操作一個字節(jié)高效流每次操作一個字節(jié)數組()字符流:5 種基本流每次操作一個字符基本流每次操作一個字符數組高效流每次操作一個字符高效流每次操作一個字符數組()高效流每次操作一行文本()思路:1.2.3.4.5.創(chuàng)建緩沖字符輸入流對象(建立于文件系統(tǒng)中文件的對應

3、關系)創(chuàng)建緩沖字符輸出流對象(建立于文件系統(tǒng)中文件的對應關系)使用輸入流對象的 read 方法,讀出源文件中內容(顯示/其他操作)使用輸出流對象的 write 方法,寫入數據到目的地文件(需要刷新)關閉流,資源怎么選擇使用?代碼體現:數據源:a.txt目的地:b.txt思路:1.2.3.4.5.創(chuàng)建緩沖字符輸入流對象(建立于文件系統(tǒng)中文件的對應關系)創(chuàng)建緩沖字符輸出流對象(建立于文件系統(tǒng)中文件的對應關系)使用輸入流對象的 read 方法,讀出源文件中內容(顯示/其他操作)使用輸出流對象的 write 方法,寫入數據到目的地文件(需要刷新)關閉流,資源代碼體現:/創(chuàng)建對象BufferedRead

4、er br = null; BufferedWriter bw = null; try/實例化對象br = new BufferedReader(new FileReader(a.txt); bw = new BufferedWriter(new FileWriter(b.txt);/內容String len = null;while(len = br.readLine()!= null)/寫入數據bw.wrien);bw.newLine();bw.flush();catch(Exception e)e.prStackTrace();finallyif(br != null) trybr.cl

5、ose();catch(Exception e)e.prStackTrace();if(bw !=null) trybw.close();catch(Exception e)e.prStackTrace();(4)二進制流數據:(字節(jié)流:4 種,音頻等)基本流每次操作一個字節(jié)基本流每次操作一個字節(jié)數組高效流每次操作一個字節(jié)高效流每次操作一個字節(jié)數組()怎么選擇使用?選用高效流每次操作一個字節(jié)數組代碼體現:數據源:c:a.jpg目的地:d:b.jpg思路:1.2.3.4.5.創(chuàng)建緩沖字節(jié)輸入流對象(建立于文件系統(tǒng)中文件的對應關系)創(chuàng)建緩沖字節(jié)輸出流對象(建立于文件系統(tǒng)中文件的對應關系)使用輸入流

6、對象的 read 方法,讀出源文件中內容(顯示/其他操作)使用輸出流對象的 write 方法,寫入數據到目的地文件(需要刷新)關閉流,資源/創(chuàng)建對象BufferedInputStream bis = null;BufferedOutputStream try/實例化對象= null;bis = new BufferedInputStream(new FileInputStream(c:a.jpg);= new BufferedOutputStream(new FileOutputStream(d:b.jpg);/byte bys = new byte1024; len = 0;while(le

7、n = bis.read(bys)!= -1)/寫入數據.write(bys,0,len);catch(IOException e)e.prfianllyStackTrace();if(bis != null) trybis.close();catch(Exception e)e.prStackTrace();if(!=null) try.close();catch(Exception e)e.prStackTrace();2:轉換流(理解)(1)如果有字節(jié)流對象,為了使用字符流的功能,就必須使用轉換流進行操作。 (2)案例:鍵盤錄入數據BufferedReader br = new Buff

8、eredReader(new InputStreamReader(System.in); BufferddWriter bw = new BufferedWriter(new FileWriter(a.txt);String line = null while(line=br.readLine()!=null)if(over.equals(line)break;bw.wriine);bw.newLine();bw.flush();bw.close();br.close();把文本文件的數據通過流對象在控制臺顯示BufferedReader br = new BufferedReader(new

9、 FileReader(a.txt); BufferddWriter bw = new BufferedWriter(new OutputStreamWriter(System.out);String line = null while(line=br.readLine()!=null)bw.wriine);bw.newLine();bw.flush();bw.close();br.close();3:打印流(掌握)(1)打印流是寫數據的。 (2)特點:A:可以寫任意數據類型的數據B:如果啟動了自動刷新,能自動刷新,還會換行。pr C:可以直接往文件寫數據注意:哪些流對象可以直接讀寫文件?ln

10、()看構造方法,如果同時有 String 和 File 的構造參數,那么該流對象就可以讀寫文件。(3)用打印流改進數據源:文本文件的操作c:a.txt目的地:d:b.txtBufferedReader br = new BufferedReader(new FileReader(c:a.txt);PrWritw = new PrWriter(new FileWriter(d:b.txt),true);String line = null; while(line=br.readLine()!=null)pw.prln(line);pw.close();br.close();4:序列化流(理解)序

11、列化:把對象按照流一樣的方式在網絡中傳輸,或者反序列化:把流數據還原成對象如何實現序列化?A:被序列化的對象所屬的類必須實現序列化接口 B:用序列化流對象進行操作序列化(對象)流對象 ObjectInputStream:Object readObject() ObjectOutputStream:void writeObject(Object obj) (4)掌握:到文本文件A:看到類實現了序列化接口,就知道該類可以被序列化流對象操作 B:看到類實現了序列化接口,知道點擊鼠標就可以解決黃色警告問題5:字符編碼(理解) (1)編碼表:就是字符和對應的數據組成的一張表。(2)常見的編碼表: ASCIIISO-8859-1 GBK GB2310 GB18030 UTF-8BIG5-自己問問度娘(3)轉換流中的編碼問題A:字符流 = 字節(jié)流+編碼表B:通過轉換流寫入數據,指定為 UTF-8 編碼,并通過 UTF-8 編碼。6:Properties(理解)是 Map 體系一個集合類。特點:A:可以把集合中的數據保存到文本文件,也可以把文本文件的數據加載到集合中。 B:該集合的鍵和值都是 String 類型特殊功能:A:setProperty(String key,String value) B:getProperty(String ke

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論