黑马程序员技术交流社区

标题: 自定义装饰类,应该如何复写read方法 [打印本页]

作者: 黑马振鹏    时间: 2012-7-16 22:10
标题: 自定义装饰类,应该如何复写read方法
自定义一个BufferedReader
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;

class MyBufferedReader extends Reader{
        private Reader r;
        MyBufferedReader(Reader r){
                this.r = r ;       
        }
        public String myReadLine()throws IOException{
                int ch = 0;
                StringBuilder sb = new StringBuilder();
                while((ch=r.read())!=-1){
                        if((char)ch=='\r')
                                continue;
                        if((char)ch=='\n')
                                return sb.toString();
                        sb.append((char)ch);
                        }
                if(sb.length()!=0)
                        return sb.toString();
                else       
                return null;
               
        }
        public void myClose(Reader r)throws IOException{
                r.close();
        }
        @Override
        public int read(char[] cbuf, int off, int len) throws IOException {
               
                return 0;
        }
        @Override
        public void close() throws IOException {
            r.close();       
        }
}
自定义一个装饰类,但是read()如果想要自己写出实现代码能不能行呢?,是不是只能调用传进来的子类的实现方法?

作者: 樊佰轩    时间: 2012-7-17 08:08
read()方法是java提供的读取方法,自己复写还真没学过。不过估计复写也是通过对读入流方式的复写,或者对内容进行选择读入。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2