How to know total number of lines in a File using Java.


If you want to know the total number of lines in a file using Java, you can achieve this in various ways. Let us take a look at a few of them.


Example 1: Using the Java BufferredReader class

package org.code2care.examples;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class CountLinesInFileJava {

    public static void main(String[] args) {

        String filePath = "D://data/report_2023.csv";

        try (BufferedReader bufferedReader = new BufferedReader(new FileReader(filePath))) {
            int numberOfLines = 0;
            while (bufferedReader.readLine() != null) {
                numberOfLines++;
            }
            System.out.println("Total no. of Lines in File: " + numberOfLines);
        } catch (IOException e) {
            System.err.println("Error while reading the file: " + e.getMessage());
        }
    }
}


Example 2: Using Files class

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class CountLinesInFileJavaWithFilesClass {
    public static void main(String[] args) {
        String filePath = "D://data/report_2023.csv";

        try {
            long numberOfLines = Files.lines(Paths.get(filePath)).count();
            System.out.println("Total no. of Lines in File: " + numberOfLines);
        } catch (IOException e) {
            System.err.println("Error while reading the file: " + e.getMessage());
        }
    }
}

Example 3: Using BufferedInputStream

import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.IOException;

public class ExampleUsingBufferedInputStream {

    public static void main(String[] args) {
        String filePath = "D://data/report_2023.csv";

        try (BufferedInputStream bis = new BufferedInputStream(new FileInputStream(filePath))) {
            int lineCount = 0;
            int readByte;
            while ((readByte = bis.read()) != -1) {
                if (readByte == '\n') {
                    lineCount++;
                }
            }
            System.out.println("Total no. of Lines in File: " + lineCount);
        } catch (IOException e) {
            System.err.println("Error while reading the file: " + e.getMessage());
        }
    }
}

Example 4: Using LineNumberReader

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

public class LineNumberReaderExample {
    public static void main(String[] args) {
        String filePath = "D://data/report_2023.csv";

        try (LineNumberReader lineNumberReader = new LineNumberReader(new FileReader(filePath))) {
            while (lineNumberReader.readLine() != null) {
                // Reading lines
            }
            int lineCount = lineNumberReader.getLineNumber();
            System.out.println("Total no. of Lines in File: " + lineCount);
        } catch (IOException e) {
            System.err.println("Error while reading the file: " + e.getMessage());
        }
    }
}

Facing issues? Have Questions? Post them here! I am happy to answer!

Author Info:

Rakesh (He/Him) has over 14+ years of experience in Web and Application development. He is the author of insightful How-To articles for Code2care.

Follow him on: X

You can also reach out to him via e-mail: rakesh@code2care.org

Copyright © Code2care 2024 | Privacy Policy | About Us | Contact Us | Sitemap