00095_流的操作規律
阿新 • • 發佈:2017-12-24
操作 內存 功能 使用 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_流的操作規律