1、根據流向分爲輸入流和輸出流:對象
注意輸入流和輸出流是相對於程序而言的。blog
2、根據傳輸數據單位分爲字節流和字符流繼承
上面的也是 Java IO流中的四大基流。這四大基流都是抽象類,其餘流都是繼承於這四大基流的。內存
3、根據功能分爲節點流和包裝流資源
節點流:能夠從或向一個特定的地方(節點)讀寫數據。如FileReader.模板
處理流:是對一個已存在的流的鏈接和封裝,經過所封裝的流的功能調用實現數據讀寫。如BufferedReader.處理流的構造方法老是要帶一個其餘的流對象作參數。一個流對象通過其餘流的屢次包裝,稱爲流的連接。垃圾回收
操做 IO 流的模板:引用
①、建立源或目標對象程序
輸入:把文件中的數據流向到程序中,此時文件是 源,程序是目標方法
輸出:把程序中的數據流向到文件中,此時文件是目標,程序是源
②、建立 IO 流對象
輸入:建立輸入流對象
輸出:建立輸出流對象
③、具體的 IO 操做
④、關閉資源
輸入:輸入流的 close() 方法
輸出:輸出流的 close() 方法
注意:一、程序中打開的文件 IO 資源不屬於內存裏的資源,垃圾回收機制沒法回收該資源。若是不關閉該資源,那麼磁盤的文件將一直被程序引用着,不能刪除也不能更改。因此應該手動調用 close() 方法關閉流資源