//模拟一个带行号的缓冲区对象
import java.io.*;
class Moni
{
public static void sop(Object obj)
{
System.out.println(obj);
}
public static void main(String[] args)throws IOException
{
MyLineNumberReader sy=new MyLineNumberReader(new FileReader("d://COPY.txt"));
//LineNumberReader sy=new LineNumberReader(new FileReader("d://COPY.txt"));
String str=null;
while ((str= sy.readLine())!=null)
{
sop(sy.myGetLineNumber()+"::"+str);
}
}
}
//模拟一个 LineNumberReader类
class MyLineNumberReader extends Reader
{
private Reader r;
private int num;
private int jc;
MyLineNumberReader( Reader r)
{
this.r=r;
}
public int myGetLineNumber()
{
return jc;
}
public int myRead()throws IOException
{
return r.read();
}
public void mySetLineNumber(int jc)
{
this.jc=jc;
}
public String readLine()throws IOException
{
jc++;
StringBuffer linshi=new StringBuffer();
while((num=r.read())!= -1)
{
if (num=='\r')
{
continue;
}
else if(num=='\n')
{
return linshi.toString();
}
else
{
linshi.append((char)num);
}
}
if (linshi.length()!=0)
{
return linshi.toString();
}
else
return null;
}
public void close()throws IOException
{
r.close();
}
public int read(char[] cbuf, int off,int len)throws IOException
{
return r.read(cbuf, off,len);
}
}
|
|