流的操作规律
IO流中對象很多,解決問題(處理設(shè)備上的數(shù)據(jù)時(shí))到底該用哪個(gè)對象呢?
把IO流進(jìn)行了規(guī)律的總結(jié)(四個(gè)明確):
? 明確一:要操作的數(shù)據(jù)是數(shù)據(jù)源還是數(shù)據(jù)目的。
源:InputStream??? Reader
?目的:OutputStream Writer
先根據(jù)需求明確要讀,還是要寫。
? 明確二:要操作的數(shù)據(jù)是字節(jié)還是文本呢?
源:
??????????????????????????? 字節(jié):InputStream
??????????????????????????? 文本:Reader
目的:
??????????????????????????? 字節(jié):OutputStream
??????????????????????????? 文本:Writer
?明確三:明確數(shù)據(jù)所在的具體設(shè)備。
源設(shè)備:
??????????????????????????? 硬盤:文件? File開頭。
??????????????????????????? 內(nèi)存:數(shù)組,字符串。
??????????????????????????? 鍵盤:System.in;
??????????????????????????? 網(wǎng)絡(luò):Socket
?目的設(shè)備:
??????????????????????????? 硬盤:文件? File開頭。
??????????????????????????? 內(nèi)存:數(shù)組,字符串。
??????????????????????????? 屏幕:System.out
??????????????????????????? 網(wǎng)絡(luò):Socket
完全可以明確具體要使用哪個(gè)流對象
?明確四:是否需要額外功能呢?
額外功能:
? 轉(zhuǎn)換嗎?轉(zhuǎn)換流。InputStreamReader OutputStreamWriter
? 高效嗎?緩沖區(qū)對象。BufferedXXX
???? InputStream
?????? FileInputStream
?????? BufferedInputStream
?
OuputStream
?? FileOutputStream
?? BufferedOuputStream
?
?
Writer
? OutputStreamWriter
???? FileWriter
????? BufferedWriter
?
Reader
? InputStreamReader
???? FileReader
?BufferedReader
轉(zhuǎn)載于:https://www.cnblogs.com/zzq123/p/10222224.html
總結(jié)
- 上一篇: 工银微信信用卡怎么用?使用时一定要注意安
- 下一篇: 月入10万和月入5千的人关键区别是什么?