A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

自定义一个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()如果想要自己写出实现代码能不能行呢?,是不是只能调用传进来的子类的实现方法?

1 个回复

倒序浏览
read()方法是java提供的读取方法,自己复写还真没学过。不过估计复写也是通过对读入流方式的复写,或者对内容进行选择读入。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马