openplanning

Hướng dẫn và ví dụ Java LineNumberReader

Xem thêm các chuyên mục:

Hãy theo dõi chúng tôi trên Fanpage để nhận được thông báo mỗi khi có bài viết mới. Facebook

1- LineNumberReader

LineNumberReader là một lớp con của BufferedReader, nó hỗ trợ theo dõi số dòng (line number) của các dòng văn bản. Việc đánh số dòng bắt đầu từ số 0.
Bất cứ khi nào LineNumberReader gặp ký tự ngắt dòng (line break) thì số dòng sẽ được tăng thêm 1. Phương thức getLineNumber() trả về số dòng hiện tại. Bạn cũng có thể sử dụng phương thức setLineNumber(int) sét đặt số dòng cho dòng văn bản hiện tại.
LineNumberReader constructors

LineNumberReader(Reader in)

LineNumberReader(Reader in, int sz)
test.txt

Java Tutorials:

Java Reader Tutorial
Java Writer Tutorial
Ví dụ:
LineNumberReaderEx1.java

package org.o7planning.linenumberreader.ex;

import java.io.FileReader;
import java.io.IOException;
import java.io.LineNumberReader;
import java.io.Reader;

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

        try(Reader reader = new FileReader("/Volumes/Data/test/test.txt");
                LineNumberReader lineNumberReader = new LineNumberReader(reader)){
            
            System.out.println("Start Line Number: " + lineNumberReader.getLineNumber());
            
            System.out.println(" ----- ");

            String line = null; ;
            while((line  = lineNumberReader.readLine()) != null) {  
                
                System.out.println("Line Number: " + lineNumberReader.getLineNumber());
                System.out.println("  Line Content: " + line);
            }
        }
    }  
}
Output:

Start Line Number: 0
 -----
Line Number: 1
  Line Content: Java Tutorials:
Line Number: 2
  Line Content:
Line Number: 3
  Line Content: Java Reader Tutorial
Line Number: 4
  Line Content: Java Writer Tutorial

2- setLineNumber(int)

Sét đặt số dòng (line number) cho dòng văn bản hiện tại.

public void setLineNumber(int lineNumber)
Ví dụ:
test2.txt

AAAAA
BBBBB
CCCCC
DDDDD
EEEEE
LineNumberReader_setLineNumber_ex1.java

package org.o7planning.linenumberreader.ex;

import java.io.FileReader;
import java.io.IOException;
import java.io.LineNumberReader;
import java.io.Reader;

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

        try(Reader reader = new FileReader("/Volumes/Data/test/test2.txt");
                LineNumberReader lineNumberReader = new LineNumberReader(reader)){

            System.out.println("Set current line number to 2");
            
            lineNumberReader.setLineNumber(2);
            
            System.out.println("Line Number after set: " + lineNumberReader.getLineNumber());
            
            System.out.println("  -----  ");
            
            String line = null; ;
            while((line  = lineNumberReader.readLine()) != null) {  
                
                System.out.println("Line Number: " + lineNumberReader.getLineNumber());
                System.out.println("  Line Content: " + line);
            }
        }
    }  
}
Output:

Set current line number to 2
Line Number after set: 2
  -----  
Line Number: 3
  Line Content: AAAAA
Line Number: 4
  Line Content: BBBBB
Line Number: 5
  Line Content: CCCCC
Line Number: 6
  Line Content: DDDDD
Line Number: 7
  Line Content: EEEEE

Xem thêm các chuyên mục: