readline方法

January201705



/**
根据 BufferedReader类中的特有方法  ReadLine()
自己定义一个方法  模拟 ReadLine()方法
定义一个容器,在读取至  换行符时  进行截断。
*/
import java.io.*;
public class demo{
  public static void main(String[] args)throws IOException{
    myBufferedReader mbf=new myBufferedReader(new FileReader("Test.java"));
    String s=null;
    while((s=mbf.myReadLine())!=null){
      System.out.println(s);
    }
  /*  while((s=mbf.myReadLineTwo())!=null){
      System.out.println(s);
    }*/
  //  s=mbf.myReadLineTwo();
  //  System.out.println(s);
  }
}
class myBufferedReader{
  private FileReader r;
  public myBufferedReader(FileReader r){
    this.r=r;
  }
/*  public String myReadLineTwo()throws IOException{
    //定义一个字符数组,作为缓冲
    char[] buf =new char[1024];
    int ch=0;
    while((ch=r.read(buf))!=-1){
      if(ch=='\r')
          continue;
      if(ch=='\n')
         return String.valueOf(buf);

    }
    return null;
  }*/
  public String myReadLine()throws IOException {
   //定义一个临时容器。与bufferedReader封装的是字符数组
    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();
  }

}


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容