IO是java繞不過去的檻,在開發(fā)中io無處不在, 正如同 世界上本沒有路,java io寫多了,也就知道了大體是什么意思,在讀完thinking in java 感覺就更清晰了,結(jié)合具體的業(yè)務(wù)場景,整理一下 ,什么是IO。為什么JAVA要這么設(shè)計IO。
先來一道開胃菜
我想要讀取控制臺輸入的字符
View Code
解釋一下:我從控制臺讀取一行字符,然后打印一下。這就是一個簡單的流了。
整理一下: 就是我先 得到一個用于讀取 控制臺輸入的流,然后 我·打印我得到的東西,這里有個細節(jié)就是 流一定得關(guān)閉,這是底線,關(guān)閉的順序:先聲明的后關(guān)閉
稍微深入一點。我用Inputstream 去讀取字符串并轉(zhuǎn)化為想要的編碼格式
View Code
這就偏實際一點,當你拿到一個字符串的時候,讀取的時候,有一個細節(jié):最好加上編碼格式
解釋一下:實際上讀取的地方 只有這一點 line = bf.readLine() ,那么之前的是做什么呢, 我其實是在組裝我想要的鏟子。這也是 開發(fā)中比較常用的“包裝器模式”
我想把字符串轉(zhuǎn)為貼合實際的ByteArrayInputStream, 再轉(zhuǎn)化為更常用的Reader(InputStreamReader) 再包裝上buffer(Buffer