装饰设计模式

来源:互联网 发布:2017网络歌曲 编辑:程序博客网 时间:2024/06/04 23:22
* 模拟一下BufferedReader */import java.io.*;class MyBufferedReader extends Reader {private Reader r;MyBufferedReader(Reader r) {this.r = r;}// 可以一次读一行数据的方法。public String myReadLine() throws IOException {// 定义一个临时容器。原BufferReader封装的是字符数组。// 为了演示方便。定义一个StringBuilder容器。因为最终还是要将数据变成字符串。StringBuilder sb = new StringBuilder();int ch = 0;while ((ch = r.read()) != -1) {if (ch == '\r')continue;if (ch == '\n')return sb.toString();elsesb.append((char) ch);}if (sb.length() != 0)return sb.toString();return null;}/* * 覆盖Reader类中的抽象方法。 */public int read(char[] cbuf, int off, int len) throws IOException {return r.read(cbuf, off, len);}public void close() throws IOException {r.close();}public void myClose() throws IOException {r.close();}}class MyBufferedReaderDemo {public static void main(String[] args) throws IOException {FileReader fr = new FileReader("buf.txt");MyBufferedReader myBuf = new MyBufferedReader(fr);String line = null;while ((line = myBuf.myReadLine()) != null) {System.out.println(line);}myBuf.myClose();}}


原创粉丝点击