java 自定义BufferedReader

时间:2020-04-11
本文章向大家介绍java 自定义BufferedReader,主要包括java 自定义BufferedReader使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
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