행 번호가 있는 버퍼 객체를 시뮬레이션합니다.

3310 단어
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;

public class test {

    public static void main(String[] args) throws IOException {

        FileReader fr=new FileReader("buf.txt");
        MyLineNumberReader mylnr=new MyLineNumberReader(fr);
        String line=null;

        while((line=mylnr.myReadLine())!=null){
            System.out.println(mylnr.getLineNumber()+":"+line);
        }

        mylnr.myClose();
    }

}


// 
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 == '
'
) 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(); } }

좋은 웹페이지 즐겨찾기