openplanning

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

  1. LineNumberReader
  2. setLineNumber(int)

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

Các hướng dẫn Java IO

Show More