本帖最后由 水。。。海 于 2013-7-19 21:20 编辑
- import java.io.*;
- class MyBufferedReader
- {
- private FileReader r;
- MyBufferedReader(FileReader r)
- {
- this.r=r;
- }
- public String myReadLine() throws IOException
- {
- StringBuilder sb=new StringBuilder();
- int ch=0;
- while((ch=r.read())!=-1)
- {
- if(ch=='\t')
- continue;
- else if(ch=='\n')
- return sb.toString(); //在这个循环中sb一直在接受值怎么做到一行一行打印的??
- else
- sb.append((char)ch); //如果是用主函数的while循环来控制的话,sb应该也是累加的,为什么
- } //sb接受一行字符之后又把前面的字符给清掉了????
- if(sb.length()!=0)
- return sb.toString();
- return null;
- }
- public void myClose() throws IOException
- {
- r.close();
- }
- }
- class MyBufferedReaderDemo
- {
- public static void main(String[] args) throws IOException
- {
- FileReader fr=new FileReader("Demo.java");
- MyBufferedReader mybuf=new MyBufferedReader(fr);
- String line=null;
- while((line=mybuf.myReadLine())!=null)
- {
- System.out.println(line);
- }
- mybuf.myClose();
- }
- }
复制代码 问题在代码中写出来了,现在我是bug在这了,想不出为什么了,有点专牛角尖了
|