import java.io.*;
class MyBufferedReader
{
private FileReader r;
MyBufferedReader(FileReader r)
{
this.r=r;
}
public String myReadLine()throws IOException
{
StringBuilder sb=new StringBuilder();//StringBuilder和StringBuffer方法一样,前者不同步!
int a=0;
while ((a=r.read())!=-1)
{
if(a=='\r')
continue;
if(a=='\n')
return sb.toString();
else
sb.append((char)a);
}
//因为最后一行是没有\n的,所以这行不会打印了,所以要定义这个条件来打印最后一行
if (sb.length()!=0)
{
return sb.toString();
}
return null;
}
public void myClose()throws IOException
{
r.close();
}
}
class MyBuffer
{
public static void main(String[] args) throws IOException
{
FileReader fr=new FileReader("FileReaderTest.java");
MyBufferedReader mr=new MyBufferedReader(fr);
String line=null;
while ((line=mr.myReadLine())!=null)
{
System.out.println(line);
}
mr.myClose();
}
}
自定义一个一次读一行的缓冲区
最新推荐文章于 2023-10-01 11:30:21 发布