功能簡介
PushBackInputStream是針對於輸入的一種擴展功能
裝飾器模式中的具體的裝飾類,抽象的裝飾器為FilterInputStream
PushBackInputStream的重點在於理解緩沖區的使用手段
從unread可以清晰的看出來 內部的緩沖區,只是為了給被回退掉的數據使用的 每次回退就是在最前面(下表索引較小的位置) 寫入數據 |
read
總結
PushBackInputStream的實現邏輯比較清晰
我內部有一個緩沖區,你要是回退了我就往里面寫入數據
每次的數據讀取都是先看看緩沖區里面有沒有數據,有的話就先讀取回退緩沖區的
否則,就再去使用實際的流去進行讀取
看得出來,如果你從來不曾回退過,那么好像什么都一樣,還是使用原來的InputStream 進行讀取