系統(tǒng)學習 Java IO (八)----裝飾流 FilterInputStream/FilterOutputStream

目錄:系統(tǒng)學習 Java IO---- 目錄,概覽

這兩個流的作用是:“封裝其它的輸入流,并為它們提供額外的功能”
他們的直接子類有:

BufferedInputStream 的作用就是為“輸入流提供緩沖功能,以及 mark() 和 reset() 功能”
DataInputStream 是用來裝飾其它輸入流,它“允許應用程序以與機器無關方式從底層輸入流中讀取基本 Java 數(shù)據(jù)類型”
接下來我們會對具體每一個展開分析的。

FilterInputStream 是用于實現(xiàn)自己的過濾輸入流的基類。 基本上它只是覆蓋 InputStream 中的所有方法,沒有任何特殊行為。
在其內部對所有方法的所有調用傳遞給包裝的一個 InputStream 對象調用。

在其構造器中將一個 InputStream 對象傳遞給 FilterInputStream ,將參數(shù) in 分配給字段 this.in,以便記住它供以后使用,如下所示:
protected FilterInputStream(InputStream in);
public int read() throws IOException {return in.read(); }
我個人認為這個類沒有什么目的,也沒有看到這個類在 InputStream 中添加任何改變行為。

同樣, FilterOutputStream 是用于實現(xiàn)自己的過濾輸出流的基類。 基本上它只是覆蓋了 OutputStream 中的所有方法。

也無法看到這個類實際上添加或更改了 OutputStream 中的任何行為。 如果要繼承此類,則可以直接繼承 OutputStream 類,避免多一層沒用的類。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容