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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

看了毕老师讲的自定义BufferedReader的ReadLine()视频,自己也照着做了一个,可以运行不随人愿,代码及运行结果如下,求大神指点! import java.io.*;
//重新定义readLine()函数
class MyBufferedReader{
        private FileReader fr;//定义FileReader引用
        MyBufferedReader(FileReader fr){
                this.fr=fr;
        }
        public String MyReadLine()throws IOException{//自定义MyReadLine()函数
                StringBuilder sb=new StringBuilder();
                int num=0;
                while((num=fr.read())!=-1){//调用FileReader的read()函数逐个读取数据
                     if(num=='\r')//回车符回到上面代码继续
                                continue;
                                 
                        if(num=='\n')//换行符返回数据
                        return sb.toString();
                       
                        sb.append((char)num);//循环添加数据
                }
                if(sb.length()!=0)
                        return sb.toString();
               
                return null;
               
               
        }
        public void MyClose()throws IOException{
                fr.close();
        }
}

class MyBufReader {

        public static void main(String[] args) {
                MyBufferedReader mybuf=null;
                try {
                        FileReader fr=new FileReader("demo.txt");
                         mybuf=new MyBufferedReader(fr);
                        while(mybuf.MyReadLine()!=null){
                                System.out.println(mybuf.MyReadLine());
                        }
                       
                } catch (FileNotFoundException e) {
                        e.printStackTrace();
                } catch (IOException e) {

                        e.printStackTrace();
                }finally{
                        try {
                                mybuf.MyClose();
                        } catch (IOException e) {
                                e.printStackTrace();
                        }
                }

        }

}


文件内容:
rdasas
dasds
sda
dssda
输出内容则是:
dasds
dssda


1 个回复

倒序浏览
谢谢分享
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马