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());
}
}
}
Provide Feedback For This Article
We take your feedback seriously and use it to improve our content. Thank you for helping us serve you better!
😊 Thanks for your time, your feedback has been registered!
Comments & Discussion
Facing issues? Have questions? Post them here! We're happy to help!