標籤:輸入輸出 學習 操作 ima 先來 寫入 標準 puts 硬碟
先來看一張有關Java I/O 的圖片(不要慌)
這張圖片想必大家也都見過很多次,很詳細的將Java I/O 相關的內容羅列了出來,暫且不要被嚇到,我們邊學邊總結,最後回過頭再來看這張圖片,會有不一樣的感受。
Java的核心庫java.io提供了全面的IO介面。包括:檔案讀寫、標準裝置輸出等。Java中IO是以流為基礎進行輸入輸出的,所有資料被序列化寫入輸出資料流,或者從輸入資料流讀入。
流
流是一個很形象的概念,當程式需要讀取資料的時候,就會開啟一個通向資料來源的流,這個資料來源可以是檔案,記憶體,或是網路連接。類似的,當程式需要寫入資料的時候,就會開啟一個通向目的地的流。這時候你就可以想象資料好像在這其中“流”動一樣。
上述流的概念摘自百度百科(http://baike.baidu.com/item/java.io),博主感覺這個概念解釋的已經蠻清楚的了,再通俗的講,流就是一個“管道”,當你的程式讀取或者是儲存資料的時候,資料在這個管道裡流動。
Java流的分類按流向分(記憶體和硬碟間的方向):
輸入資料流:程式可以從中讀取資料的流(從硬碟到記憶體)
輸出資料流:程式能向其中寫入資料的流(從記憶體到硬碟)
按資料轉送單位分:
位元組流:以位元組為單位傳輸資料的流
字元流:以字元為單位傳輸資料的流
按功能分: 節點流:用於直接操作目標裝置的流 過濾流:是對一個已存在的流的連結和封裝,通過對資料進行處理為程式提供功能強大、靈活的讀寫功能。 Java I/O 常用類
JDK所提供的所有流類位於java.io包中,都分別繼承自以下四種抽象流類。
InputStream:繼承自InputStream的流都是用於向程式中輸入資料的,且資料單位都是位元組(8位)。 OutputStream:繼承自OutputStream的流都是程式用於向外輸出資料的,且資料單位都是位元組(8位)。 Reader:繼承自Reader的流都是用於向程式中輸入資料的,且資料單位都是字元(16位)。 Writer:繼承自Writer的流都是程式用於向外輸出資料的,且資料單位都是字元(16位)。
Java I/O 學習總結(一)