package com.io;
import java.io.FileReader;
import java.io.IOException;
/**
* 自己写的BufferedReader类,主要是阐述BufferedReader.readerLine()方法
* @author wjw
*
*/
public class MyBufferedReader {
public static void main(String[] args) {
MyBufferedReader_class my=null;
try{
my=new MyBufferedReader_class(new FileReader ("g:\\java\\yes.txt"));
String str=null;
while(null!=(str=my.myReadLine())){
System.out.println(str);
}
}catch(IOException e){
e.printStackTrace();
}finally{
try {
if(null!=my){
my.myClose();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
class MyBufferedReader_class{
private FileReader fr;
public MyBufferedReader_class(FileReader fr){
this.fr=fr;
}
public String myReadLine()throws IOException {
StringBuilder sb=new StringBuilder();
int num=0;
while(-1!=(num=fr.read())){
if((char)num=='\r'){
continue;//结束本次循环,继续下次循环
}else if((char)num=='\n'){
return sb.toString();
}else{
sb.append((char)num);
}
}
if(sb.length()!=0){
return sb.toString();//当最后一行没有回车符是,在这里判断下,也要返回
}
return null;
}
public void myClose() throws IOException {
fr.close();//关闭,其实就是调用的FileReader的close()方法
}
}