IO流(MyineNumberReader)

来源:互联网 发布:mac safari打不开 编辑:程序博客网 时间:2024/06/03 07:50
import java.io.*; class MyLineNumberReader{    private Reader r;    private int lineNumber;    MyLineNumberReader(Reader r)    {        this.r = r;    }    public String myReadLine()throws IOException    {        lineNumber++;        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();        return null;    }         public void setLineNumber(int lineNumber)    {        this.lineNumber = lineNumber;    }    public int getLineNumber()    {        return lineNumber;    }    public void myClose()throws IOException    {        r.close();    }}class MyLineNumberReaderDemo{    public static void main(String[] args)throws IOException    {        FileReader fr = new FileReader("copyTextByBuf.java");                 MyLineNumberReader mylnr = new MyLineNumberReader(fr);                 String line = null;                 while((line=mylnr.myReadLine())!=null)        {            System.out.println(mylnr.getLineNumber()+"::"+line);        }        mylnr.myClose();    }}

0 0