J2SE中 装饰设计模式之用自定义类去实现BufferedReader类的功能
来源:互联网 发布:手机系统分身软件 编辑:程序博客网 时间:2024/06/08 11:49
需求:
自己构造一个类似BufferedReader的类。
注意,它的出现是基于流并增强了流的功能。这也是一种设计模式的体现:装饰设计模式,对一组对象进行功能的增强。
定义自己的类:MyBufferedReader.java去实现BufferedReader类的功能
MyBufferedReader.javapackage bufferedstream; import java.io.IOException;import java.io.Reader; public class MyBufferedReader { Reader r; publicMyBufferedReader(Reader r){ this.r= r; } publicString myReaderLine() throws IOException{ StringBuffersb = new StringBuffer(); intlen = 0; while((len = r.read())!= -1) { if(len== '\r') continue; if(len== '\n') returnsb.toString(); else sb.append((char)len); } if(sb.length()!=0){ return sb.toString(); } returnnull; } publicvoid myClose() throws IOException{ r.close(); } }
定义一个测试类:去测试该自定义类是否满足要求。
TestMyBufferedReader.javaTestMyBufferedReader.java packagebufferedstream; import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException; public class TestMyBufferedReader { publicstatic void main(String[] args) throws IOException { FileReader fr = new FileReader(new File("D:/buffered.txt")); MyBufferedReadermbr = new MyBufferedReader(fr); Stringcontent = null; while((content = mbr.myReaderLine())!= null) { System.out.println(content); } mbr.myClose(); } }
这样一个自己定义的带有缓冲功能的字符输入流类就创建好了,这体现了装饰设计模式。
- J2SE中 装饰设计模式之用自定义类去实现BufferedReader类的功能
- 自定义装饰类BufferedReader
- 【装饰设计模式】写一个MyBufferedReader实现自己的ReadLine方法、增强BufferedReader的ReaderLine()
- java基础学习心得——自定义类实现BufferedReader功能
- J2SE中带缓冲的字符流与装饰设计模式
- 从BufferedReader到装饰设计模式
- 《黑马程序员》 装饰类-自定义BufferedReader和LineNumberReader
- Android的开发之&java23中设计模式------>装饰模式
- 设计模式之装饰模式(C++实现)
- 设计模式之装饰模式Java实现
- PHP设计模式中之装饰模式
- IO流二:IO流之缓冲区BufferedReader、BufferedWriter、装饰设计模式、LineNumberReader
- 装饰类设计模式
- 装饰类设计模式
- readLine原理及自定义一个类中包含一个和readLine一致的方法功能来模拟BufferedReader
- 装饰者模式---使用装饰者模式实现带日志记录功能的数据库命令执行类
- javaseday21补充(装饰设计模式 BufferedReader 的小弟 LineNumber 行号媒体文件的复制)
- IO流中我接触的第一个装饰类:BufferedReader、BufferedWriter
- 如何判断单链表里面是否有环
- 90後总有一些人:关于90后的那些点点滴滴
- 《冰河世纪4:大陆漂移》观后感
- 软件质量管理
- J2SE中带缓冲的字符流与装饰设计模式
- J2SE中 装饰设计模式之用自定义类去实现BufferedReader类的功能
- 几度苍凉的伤感独特日志发布:想要逃,却怎么也逃不掉
- J2SE中 用不同形式的流完成对文件的拷贝
- 字符编码笔记:ASCII,Unicode和UTF-8
- 如何解决电脑速度慢?
- 希望你以后能够学会怎样好好的去爱一个人
- 插值方法-拉格朗日多项式
- 保护模式,实模式
- WINCE6 180过期解决办法