FilterInputStream 的作用是用来“封装其它的输入流,并为它们提供额外的功能”。它的常用的子类有BufferedInputStream和DataInputStream。该类本身只是简单地重写那些将所有请求传递给所包含输入流的InputStream 的所有方法。FilterInputStream的子类可进一步重写这些方法中的一些方法,并且还可以提供一些额外的方法和字段。
FilterOutputStream 的作用是用来“封装其它的输出流,并为它们提供额外的功能”。它主要包括BufferedOutputStream, DataOutputStream和PrintStream。FilterOutputStream 的子类可进一步重写这些方法中的一些方法,并且还可以提供一些额外的方法和字段。