自己编写BufferedReader中的readLine方法

import java.io.*;
/*
readLine方法的原理是将除回车符以外的字符全部存储到一个字符数组中(本例中用StringBuilder代替),等到读完一行后将其返回
自己编写一个BufferedReader对象中的readLine方法
*/
class MyReaderLine{
 private FileReader r;
 MyReaderLine(FileReader r){
  this.r=r;
 }
 public String myReaderLine() throws IOException{
  //StringBuilder用于暂时存储read方法读取的一个一个的字符,等到读完一行之后将其返回
  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();
 }
 
}
class demo{
 public static void main(String args[]) throws IOException{
  //实验前先建立一个文档用于读取其中的字符串
  FileReader fr=new FileReader("123.txt");
  MyReaderLine mr=new MyReaderLine(fr);
  String line=null;
  while((line=mr.myReaderLine())!=null){
   System.out.println(line);
  }
  mr.myClose();
 }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值