其中FilterOutputStream类使用到装饰者模式,其下的子类DataOutputStream,BufferedOutputStream等为增强功能类
public BufferedOutputStream(OutputStream out, int size) {
super(out);
if (size <= 0) {
throw new IllegalArgumentException("Buffer size <= 0");
}
buf = new byte[size];
}
如果想为FileOutputStream增加缓冲流,可以像这样创建对象,其他OutputStream下的子类同理
new BufferedOutputStream(new FileOutputStream())
因为FilterOutputStream中有属性
protected OutputStream out;