IO流的概念、作用、分類
- 1:流的概念和作用
- 2:流的分類
-
- 2.1 按操作資料機關不同分為:字元流、位元組流
- 2.2 按流的角色的不同分為:節點流,處理流
- 2.3 按資料流的流向不同分為:輸入流,輸出流
- 3:IO 流體系
- 4:抽象基類:InputStream(位元組) & Reader(字元)(是所有輸入流的基類)
- 5:抽象基類:OutputStream(位元組) & Writer(字元)(是所有輸出流的基類)
1:流的概念和作用
- 流:代表任何有能力産出資料的資料源對象或者是有能力接受資料的接收端對象
- 流的本質:資料傳輸,根據資料傳輸特性将流抽象為各種類,友善更直覺的進行資料操作。
作用:為資料源和目的地建立一個輸送通道
2:流的分類
2.1 按操作資料機關不同分為:字元流、位元組流
字元流和位元組流的差別:
- 讀寫機關不同:位元組流以位元組(8bit)為機關,字元流以字元為機關,根據碼表映射字元,一次可能讀取多個位元組。
- 處理對象不同:位元組流能處理所有類型的資料(如圖檔、.avi等),字元流隻能處理純文字的資料。
結論:如果處理純文字的資料優先考慮字元流,其他情況 用位元組流。
2.2 按流的角色的不同分為:節點流,處理流
- 節點流:流直接作用在檔案上
- 處理流:流作用在已有的流基礎上
2.3 按資料流的流向不同分為:輸入流,輸出流
- 對輸入流隻能進行讀操作,對輸出流隻能進行寫操作,
- 程式中需要根據待傳輸資料的特性來選擇使用不同的流。
3:IO 流體系
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIiclRnblN2XjlGcjAzNfRHLGZkRGZkRfJ3bs92YsYTMfVmepNHL4lFRNFTV65EeVpHW3BjMMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLzAzM3UDMxgDMxAzMwEjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
4:抽象基類:InputStream(位元組) & Reader(字元)(是所有輸入流的基類)
- InputStream(典型實作:FileInputStream)
- Reader(典型實作:FileReader)
5:抽象基類:OutputStream(位元組) & Writer(字元)(是所有輸出流的基類)
- OutputStream(典型實作:FileOutStream)
- Writer(典型實作:FileWriter)