package day20.test;
import java.io.IOException;
import java.io.Reader;
public class MyBuffered {
private Reader r;
public MyBuffered(Reader r) {
this.r = r;
}
public String readLine() throws IOException {
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);
}
}
//当文件读完时将会返回-1,那么这个方法会返回null,所以最后一行数据并没有进行返回
//因此,我们进行判断,如果sb的长度不为0,就进行返回sb的值
if (sb.length()>0) {
return sb.toString();
}
return null;
}
public void close() throws IOException {
r.close();
}
}