JAVA基础(五)IO(三)包含装饰者设计模式
2016-04-08 20:29
555 查看
处理流里面包含的就是装饰者的设计模式,而所谓的装饰者设计模式是什么呢?
个人理解的是装饰者是在被装饰者做的事之上又做了事,不如下面的例子中读取文件的是FileReader,而BufferedReader装饰FileReader就是可以进行一列一列的读取,而不是像原来一样字符或者字节的读取。
具体意义可以参考以下代码:
个人理解的是装饰者是在被装饰者做的事之上又做了事,不如下面的例子中读取文件的是FileReader,而BufferedReader装饰FileReader就是可以进行一列一列的读取,而不是像原来一样字符或者字节的读取。
具体意义可以参考以下代码:
import java.io.*; class Test{ public static void main(String args[]){ FileReader fileReader = null; BufferedReader bufferedReader = null; try{ //fileReader这里是读取文件,也是被装饰者,也可以换做类似对象,比如像读取键盘数据的对象等。 fileReader = new FileReader("d:/work/src/users.txt"); //以上是把fileReader对象传入bufferedReader引用中 //这里的bufferedReader是一个装饰者的角色,并不是真正去读取文件,而是装饰fileReader去读取文件,同样的也可装饰键盘等读取其他数据。 bufferedReader = new BufferedReader(fileReader); String line = null;//定义一个空值的line引用(对象) while(true){ line = bufferedReader.readLine();//这是一个while循环 if(line == null){ break; } System.out.println(line); } } catch(Exception e){ System.out.println(e); } finally{ try{ bufferedReader.close(); fileReader.close(); } catch(Exception e){ System.out.println(e); } } } }
相关文章推荐
- JavaPersistenceWithHibernate第二版笔记-第七章-005排序的集合(@org.hibernate.annotations.SortComparator)
- 第四周JAVA作业
- 基于Spring3 MVC实现基于form表单上传Excel文件,批量导入数据时,报错:Unable to recognize OLE stream !
- Java并发编程:阻塞队列
- 基于Spring3 MVC实现基于form表单上传Excel文件,批量导入数据!
- eclipse 调试模式下修改变量值
- LeetCode 121 -Best Time to Buy and Sell Stock ( JAVA )
- Java第四次实验
- Java 装饰模式 (Decorator)
- freemarker生成java代码
- SpringMVC实现ajax文件上传
- Java-单机版的书店管理系统(练习设计模块和思想_系列 三 )
- Java-单机版的书店管理系统(练习设计模块和思想_系列 三 )
- java第四次作业
- Java 正则表达式的使用
- Java学习笔记(四)
- java中Collections.sort排序
- [JAVA · 初级]:23.GC-垃圾回收机制
- java汉字中首字母排序
- myeclipse 中如何设置断点 进行调试