1 BufferedWriter

2 BufferedReader

3 装饰设计模式
当想对已有的对象进行功能增强时,可以定义类将已有的对象传进去,基于已有的功能进行加强。自定义的类为装饰类
装饰类通常会通过构造方法接收被装饰的对象,并基于接收对象的功能,提供更强的功能。
装饰与继承的区别
装饰模式比继承要灵活,避免了继承体系的臃肿。降低了类与类之间的关系。
装饰类是增强已有对象的功能,所以具备的功能与已有的功能相同,只是提供了更强的功能。
装饰类与被装饰类都属于一个体系的。