本帖最后由 黑马张伟 于 2011-12-22 18:20 编辑
import java.io.FileReader;
import java.io.IOException;
/*
明白了BuffredReader类中特有的方法readLine的原理后
可以自定义一个类中包含和readLine原理一样的方法
来模拟一下BuffreedReader
*/
public class BufferReader {
public static void main(String[] args) throws IOException{
FileReader fr=new FileReader("se.txt");
MyBufferedReader mybuf=new MyBufferedReader(fr);
String line=null;
while((line=mybuf.myReadLine())!=null)
{
System.out.println(line);
}
mybuf.myClose();
}
}
class MyBufferedReader{
private FileReader r;
MyBufferedReader(FileReader r)
{
this.r=r;
};
//可以一次读一行数据的方法
public String myReadLine(){
StringBuilder sb=new StringBuilder();
int ch=0;
try {
while((ch=r.read())!=-1)
{
if(ch=='\r')
continue;;
if(ch=='\n')
continue;
else
sb.append((char)ch);
}
} catch (IOException e) {
e.printStackTrace();
}
if(sb.length()!=0)
return sb.toString();
return null;
}
public void myClose(){
try {
r.close();
} catch (IOException e) {
e.printStackTrace();
}
}
} |