IO流结构图

在这里插入图片描述
其中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;

猜你喜欢

转载自blog.csdn.net/lc257/article/details/125491896