betacode

Руководство Java LineNumberReader

  1. LineNumberReader
  2. setLineNumber(int)

1. LineNumberReader

LineNumberReader - это подкласс BufferedReader, который поддерживает отслеживание номера строки (line number) текста. Нумерация строк начинается с 0.
Когда LineNumberReader обнаруживает разрыв строки (line break), номер строки увеличивается на 1. Метод getLineNumber() возвращает текущий номер строки. Вы также можете использовать метод setLineNumber(int) для установки номера строки для текущей строки текста.
LineNumberReader constructors
LineNumberReader(Reader in)

LineNumberReader(Reader in, int sz)
test.txt
Java Tutorials:

Java Reader Tutorial
Java Writer Tutorial
Например:
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)

Установим номер строки (line number) для текущей строки текста.
public void setLineNumber(int lineNumber)
Например:
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

Руководства Java IO

Show More