目錄:系統(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 類,避免多一層沒用的類。