黑马程序员技术交流社区
标题:
MyBufferedReader的代码(毕向东老师)
[打印本页]
作者:
苦咖啡
时间:
2013-8-30 16:08
标题:
MyBufferedReader的代码(毕向东老师)
import java.io.*;
class t
{
public static void main(String[]args)throws IOException
{
FileReader fr=new FileReader("buf.txt");
MyBufferedReader myBuf=new MyBufferedReader(fr);
String line=null;
while ((line=myBuf.myReadLine())!=null)
{
System.out.println(line);
}
myBuf.myClose();
}
}
/*
明白了BufferedReader类中特有方法readLine的原理后,可以自定义一个类中包含和readLine一致的方法
来模拟一下BufferedReader
*/
import java.io.*;
class MyBufferedReader
{
private FileReader r;
MyBufferedReader(FileReader r);
{
this.r=r;
}
//可以一次读一行数据的方法
public String myReadLine()throws IOException
{
//定义一个临时容器,原MyBufferedReader封装的是字符数组
//为了演示方便,定义一个StringBuilder容器,因为最终还是将数据变成字符串
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);
}
return null;
}
public void myClose()throws IOException
{
r.close();
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2