黑马程序员技术交流社区

标题: 关于一个自定义ReadLine()函数的问题 [打印本页]

作者: t_lins    时间: 2015-8-28 09:22
标题: 关于一个自定义ReadLine()函数的问题
看了毕老师讲的自定义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



作者: hejin67410    时间: 2015-9-23 18:38
谢谢分享




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