本帖最后由 凝聚 于 2013-10-23 10:44 编辑
package Nineteen;
import java.io.*;
public class eight {
public static void main(String[] args)throws IOException
{
FileReader fr=new FileReader("my.doc");
MyBufferedReader1 mybr=new MyBufferedReader1(fr);
String line=null;
while((line=mybr.myReadLine())!=null)
{
System.out.println(line);
}
mybr.myClose1();
}
}
class MyBufferedReader1 extends Reader
{
private Reader r;//FileReader去掉File装饰一组对象(Reader)
MyBufferedReader1(Reader r)
{
this.r=r;
}
public String myReadLine()throws IOException
{
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);
}
if(sb.length()!=0)
return sb.toString();/*abc0,abc1,abc2,abc3,abc4如果没有这句话abc0,abc1,abc2,abc3*/
return null;
}
/*覆盖Reader类中的抽象方法*/
public void myClose1()throws IOException
{
r.close();
}
public int read(char[] ch,int off,int len)throws IOException
{
return r.read(ch,off,len);
}
/*
public void close()throws IOException
{
r.close();
}
*/
}
这段代码中class MyBufferedReader1 extends Reader这句话标有红线,但调试能通过。是怎么回事。
|