用Reader模拟BufferedReader的readLine ()功能readLine() :一次读取一行,根据换行符判断是否结束,只返回内容,不返回换行符
代码如下:
package cn.zsp.io_study11;
import java.io.IOException;
import java.io.Reader;
// 用Reader模拟BufferedReader的readLine ()功能
// readLine() :一次读取一行,根据换行符判断是否结束,只返回内容,不返回换行符
public class MyBufferedRead {
private Reader r;
public MyBufferedRead(Reader read) {
this.r = read;
}
public String readline( ) throws IOException {
StringBuilder sb=new StringBuilder();
int ch=0;
while((ch=r.read())!=-1){
if(ch == '\r')
{
continue;
}
else if (ch == '\n')
{
return sb.toString();
}
else
{
sb.append((char)ch);
}
}
if(sb.length()>0)
{
return sb.toString();
}
return null;
}
public void close() throws IOException {
this.r.close();
}
}
主函数
package cn.zsp.io_study11;
import java.io.IOException;
import java.io.Reader;
// 用Reader模拟BufferedReader的readLine ()功能
// readLine() :一次读取一行,根据换行符判断是否结束,只返回内容,不返回换行符
public class MyBufferedRead {
private Reader r;
public MyBufferedRead(Reader read) {
this.r = read;
}
public String readline( ) throws IOException {
StringBuilder sb=new StringBuilder();
int ch=0;
while((ch=r.read())!=-1){
if(ch == '\r')
{
continue;
}
else if (ch == '\n')
{
return sb.toString();
}
else
{
sb.append((char)ch);
}
}
if(sb.length()>0)
{
return sb.toString();
}
return null;
}
public void close() throws IOException {
this.r.close();
}
}