FilterOutputStream 继承自 OutputStream 。
OutputStream 的源码解析见:http://blog.csdn.net/yx0628/article/details/79370689
FilterInputStream 的源码解析见:http://blog.csdn.net/yx0628/article/details/79366049
这里的源码结构使用了装饰者模式。从源码可以看出, FilterOutputStream 类引用了一个输出流,而其各个方法,只是对所引用的流对象相应方法的调用,没有做其他处理,所以需要其子类来进行复写此方法,达到装饰的目的。
即 FilterOutputStream 的子类要用来封装其它的输入流,并为它们提供额外的功能。其常用子类有 BufferedOutputStream 和 DataOutputStream 。
属性
引用了一个输出流。
protected OutputStream out;
构造函数
构造函数中需要接收一个输出流。而后就可以对这个输出流对象进行包装。