Java基礎I/O流總結

I/O流分類

按數據流向分爲:輸入流、輸出流

按處理數據單位分爲:字節流、字符流

按功能分爲:節點流、 處理流


四種基本抽象流類型




字符流和字節流

字符流和字節流的主要區別:

      1.字節流讀取的時候,讀到一個字節就返回一個字節;  字符流使用了字節流讀到一個或多個字節(中文對應的字節數是兩個,在UTF-8碼錶中是3個字節)時。先去查指定的編碼表,將查到的字符返回。

      2.字節流可以處理所有類型數據,如:圖片,MP3,AVI視頻文件,而字符流只能處理字符數據。只要是處理純文本數據,就要優先考慮使用字符流,中文一定要用字符流,除此之外都用字節流。

節點流和處理流


處理流

緩衝流

BufferedInputStream

BufferedOutputStream

BufferedReader     提供了readline方法,一次讀取一行

BufferedWriter


轉換流

    用於字節數據到字符數據的轉換,該流對象中可以對讀取到的字節數據進行指定編碼的編碼轉換。

InputStreamReader

OutputStreamWriter


數據流

該數據流可以方便地對一些基本類型數據進行直接的存儲和讀取,不需要再進一步進行轉換,通常只要操作基本數據類型的數據,就需要通過DataStream進行包裝。

DataInputStream

DataOutputStream


打印流

PrintStream

PrintWriter


對象流

該類型的流可以把類作爲一個整體進行存取,被寫入的對象必須實現一個接口:Serializable

ObjectInputStream

ObjectOutputStream



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章