A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

//模拟一个带行号的缓冲区对象
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);
        }


}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马