class MyBufferedReader {
    private FileReader r;

    public MyBufferedReader(FileReader r) {
        this.r = r;
    }

    //可以一次读一行数据的方法
    public String myReadLine() throws IOException {
        //定义一个临时容器。原BufferedReader封装的是字符数组。
        //我们定义一个StringBuild容器。因为最终还是要将数据变成字符串。
        StringBuilder sb = new StringBuilder();
        int ch = 0;
        while ((ch = r.read()) != -1) {
            if (ch == 'r')
                continue;
            if (ch == 'n')
                return sb.toString();
            else
                sb.append((char) (ch));
        }

        if (sb.length() != 0)
            return sb.toString();
        return null;
    }

    public void myClose() throws IOException {
        r.close();
    }
}


public 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();
    }
}

 

内容来源于网络如有侵权请私信删除

文章来源: 博客园

原文链接: https://www.cnblogs.com/hongxiao2020/p/12679049.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!