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