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(); } }
内容来源于网络如有侵权请私信删除
文章来源: 博客园
- 还没有人评论,欢迎说说您的想法!