Подсчёт строк в файле на Java — программа с BufferedReader

Программа на Java для подсчёта количества строк в файле.

Для понимания этого примера нужно знать следующие темы Java:

  • Класс java.io.File

  • Класс java.util.Scanner

Пример 1: подсчёт строк через Scanner

import java.io.File;
import java.util.Scanner;

class Main {
  public static void main(String[] args) {

    int count = 0;

    try {
      // create a new file object
      File file = new File("input.txt");

      // create an object of Scanner
      // associated with the file
      Scanner sc = new Scanner(file);

      // read each line and
      // count number of lines
      while(sc.hasNextLine()) {
        sc.nextLine();
        count++;
      }
      System.out.println("Total Number of Lines: " + count);

      // close scanner
      sc.close();
    } catch (Exception e) {
      e.getStackTrace();
    }
  }
}

В примере выше мы использовали метод nextLine() класса Scanner для доступа к каждой строке файла. Здесь вывод программы зависит от количества строк в файле input.txt.

В этом случае у нас есть файл input.txt со следующим содержимым:

First Line
Second Line
Third Line

Получим вывод:

Total Number of Lines: 3

Пример 2: подсчёт строк через java.nio.file

import java.nio.file.*;

class Main {
  public static void main(String[] args) {

    try {

      // make a connection to the file
      Path file = Paths.get("input.txt");

      // read all lines of the file
      long count = Files.lines(file).count();
      System.out.println("Total Lines: " + count);

    } catch (Exception e) {
      e.getStackTrace();
    }
  }
}

В примере выше:

  • lines() — читает все строки файла как поток (stream)

  • count() — возвращает количество элементов в потоке

Если файл input.txt содержит:

This is the article on Java Examples.
The examples count number of lines in a file.
Here, we have used the java.nio.file package.

Программа выведет Total Lines: 3.