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();
}
}
自己编写BufferedReader中的readLine方法
最新推荐文章于 2023-12-21 21:26:01 发布