1. 程式人生 > >00095_流的操作規律

00095_流的操作規律

操作 內存 功能 使用 file blog out 是否 pre

1、IO流中對象很多,解決問題(處理設備上的數據時)到底該用哪個對象呢?

2、四個明確

  (1)明確一:要操作的數據是數據源還是數據目的。
源:InputStream Reader
目的:OutputStream Writer
  先根據需求明確要讀,還是要寫。

  (2)明確二:要操作的數據是字節還是文本呢?
源:
字節:InputStream
文本:Reader
目的:
字節:OutputStream
文本:Writer
  已經明確到了具體的體系上。

  (3)明確三:明確數據所在的具體設備。
源設備:
硬盤:文件 File開頭。
內存:數組,字符串。
鍵盤:System.in;
網絡:Socket
目的設備:
硬盤:文件 File開頭。
內存:數組,字符串。
屏幕:System.out
網絡:Socket
  完全可以明確具體要使用哪個流對象。

  (4)明確四:是否需要額外功能呢?
額外功能:
轉換嗎?轉換流。InputStreamReader OutputStreamWriter
高效嗎?緩沖區對象。BufferedXXX

InputStream
       FileInputStream
       BufferedInputStream
 
OuputStream 
   FileOutputStream
   BufferedOuputStream


Writer
  OutputStreamWriter
     FileWriter
      BufferedWriter

Reader
  InputStreamReader
     FileReader
 BufferedReader

00095_流的操作規律