最近自學完IO流的一些內容,(InputStream,OutputStream,Reader,Writer)最開始對哪個是輸出流,哪個是輸入流模棱兩可. 就是InputStream和OutputStream這兩個,不知道有沒有初學者跟我一樣呢?呵呵.後來自己想到一個記住的方法,按照字母的順序記,R在W前面,I在O前面,那麼I就對應R,O就對應W,InputStream對應的方法就跟Reader類似,OutputStream對應的方法就跟Writer,類似這樣就容易理解InputStream和OutputStream這兩個流的使用.(因爲Reader和Writer在字面上是比較容易記住的,至少我是這樣認爲的)
接下來就是要搞清楚該選擇流對象呢?
1.明確源
- 源:輸入流 InputStream Reader
2.明確目的
- 目的:輸出流 OutputStream Writer
3.明確操作的對象是否是純文本
- 是:字符流
- 否:字節流
明確這幾點後就確定使用哪個流對象.
下面舉個例子來按照上面的步驟正確選擇使用哪個流對象.
例:將一個文本文件中數據存儲到另一個文件中。
- 源:因爲是源,所以使用讀取流。InputStream Reader 目的:OutputStream Writer
- 是不是操作文本文件。是!這時就可以選擇Reader Writer。
- 操作的是硬盤上一個文件。Reader體系中可以操作文件的對象是 FileReader FileWriter。
- 是否需要提高效率:是!加入Reader體系中緩衝區 BufferedReader.BufferedWriter
- FileReader fr = new FileReader("demo.txt");
- BufferedReader bfr = new BufferedReader(fr);
- FileWriter fw = new FileWriter("demo_cp.txt");
- BufferedWriter bfw = new BufferedWriter(fw);
按照以上的步驟我想對於初學者來說比較容易選擇該如何使用哪個流對象了吧..
這個方法是從視頻中學習到的,借鑑的,大家也可以借鑑借鑑,很不錯的方法,在此給那些初學者還不知道的人交流交流,歡迎探討.