1:遞歸(理解) (1)方法定義中調(diào)用方法本身的現(xiàn)象 舉例:老和尚給小和尚講故事,我們學編程 (2)遞歸的注意事項; A:要有出口,否則就是死遞歸 B:次數(shù)不能過多,否則內(nèi)存溢出 C:構造方法不能遞歸使用 (3)遞歸的案例: A:遞歸求階乘 B:兔子問題 C:遞歸輸出指定目錄下所有指定后綴名的文件絕對路徑 D:遞歸刪除帶內(nèi)容的目錄(小心使用)2:IO流(掌握) (1)IO用于在設備間進行數(shù)據(jù)傳輸?shù)牟僮? (2)分類: A:流向 輸入流 讀取數(shù)據(jù) 輸出流 寫出數(shù)據(jù) B:數(shù)據(jù)類型 字節(jié)流 字節(jié)輸入流 字節(jié)輸出流 字符流 字符輸入流 字符輸出流 注意: a:如果我們沒有明確說明按照什么分,默認按照數(shù)據(jù)類型分。 b:除非文件用windows自帶的記事本打開我們能夠讀懂,才采用字符流,否則建議使用字節(jié)流。 (3)FileOutputStream寫出數(shù)據(jù) A:操作步驟 a:創(chuàng)建字節(jié)輸出流對象 b:調(diào)用write()方法 c:釋放資源 B:代碼體現(xiàn): FileOutputStream fos = new FileOutputStream("fos.txt"); fos.write("hello".getBytes()); fos.close(); C:要注意的問題? a:創(chuàng)建字節(jié)輸出流對象做了幾件事情? 三件 A:調(diào)用系統(tǒng)功能去創(chuàng)建 B:創(chuàng)建fos對象 C:把fos對象指定這個文件 b:為什么要close()? A:讓流對象變成垃圾,這樣就可以被垃圾回收器回收了 B:通知系統(tǒng)去釋放跟該文件相關的資源 c:如何實現(xiàn)數(shù)據(jù)的換行? windows:/r/n linux:/n Mac:/r 而一些常見的高級記事本,是可以實別任意換行符的。 d:如何實現(xiàn)數(shù)據(jù)的追加寫入? 用構造方法帶第二個參數(shù)是true的情況即可 (4)FileInputStream讀取數(shù)據(jù) A:操作步驟 a:創(chuàng)建字節(jié)輸入流對象 b:調(diào)用read()方法 c:釋放資源 B:代碼體現(xiàn): FileInputStream fis = new FileInputStream("fos.txt"); //方式1 int by = 0; while((by=fis.read())!=-1) { System.out.PRint((char)by); } //方式2 byte[] bys = new byte[1024]; int len = 0; while((len=fis.read(bys))!=-1) { System.out.print(new String(bys,0,len)); } fis.close(); (5)案例:2種實現(xiàn) A:復制文本文件 B:復制圖片 C:復制視頻 (6)字節(jié)緩沖區(qū)流 A:BufferedOutputStream B:BufferedInputStream (7)案例:4種實現(xiàn) A:復制文本文件 B:復制圖片 C:復制視頻 3:自學字符流 IO流分類 字節(jié)流: InputStream FileInputStream BufferedInputStream OutputStream FileOutputStream BufferedOutputStream 字符流: Reader FileReader BufferedReader Writer FileWriter BufferedWriter
新聞熱點
疑難解答