IO是java繞不過去的檻,在開發(fā)中io無處不在, 正如同 世界上本沒有路,java io寫多了,也就知道了大體是什么意思,在讀完thinking in java 感覺就更清晰了,結(jié)合具體的業(yè)務(wù)場景,整理一下 ,什么是IO。為什么JAVA要這么設(shè)計IO。

先來一道開胃菜

 我想要讀取控制臺輸入的字符

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓 View Code

  解釋一下:我從控制臺讀取一行字符,然后打印一下。這就是一個簡單的流了。

  整理一下: 就是我先 得到一個用于讀取 控制臺輸入的流,然后 我·打印我得到的東西,這里有個細節(jié)就是 流一定得關(guān)閉,這是底線,關(guān)閉的順序:先聲明的后關(guān)閉

  稍微深入一點。我用Inputstream 去讀取字符串并轉(zhuǎn)化為想要的編碼格式

萬碼學堂,電腦培訓,計算機培訓,Java培訓,JavaEE開發(fā)培訓,青島軟件培訓,軟件工程師培訓 View Code

   這就偏實際一點,當你拿到一個字符串的時候,讀取的時候,有一個細節(jié):最好加上編碼格式

   解釋一下:實際上讀取的地方 只有這一點 line = bf.readLine() ,那么之前的是做什么呢,  我其實是在組裝我想要的鏟子。這也是 開發(fā)中比較常用的“包裝器模式”

                        我想把字符串轉(zhuǎn)為貼合實際的ByteArrayInputStream, 再轉(zhuǎn)化為更常用的Reader(InputStreamReader)  再包裝上buffer(Buffer