浅谈Java IO流中的设计模式

        IO流中有很多种流,例如底层流(节点流),它直接负责文件的读写,但是功能单一,灵活性差,效率低。此时Java语言的设计者们,他们发现了这个弊端,并引入了包装流(也称处理流),他将节点流封装其中,提供了更为丰富,且效率高效的读写方法。

这种设计的底层是一个叫装饰者的设计模式,起着重要的作用,下面请看我代码演示。

Reader_抽象类

 

FileReader_读文件子类

 

 

 

StringReader_读字符串子类

 

 

 

BufferedReader_

 

 

 

测试类

 

 

运行结果:

 

 包装流底层使用的这种设计模式,即装饰者模式,他运用了组合的思想,即在该类的成员变量中声明抽象类,而在编译时可以根据传进来不同的对象,实现不同的功能。

如上图所示,BufferedReader_不仅可以调用FileReader_自己的方法,也可以调用根据传进来FileReader_后,进行设计更为高效的方法。

posted @ 2021-08-04 16:08  huangs154  阅读(495)  评论(0)    收藏  举报