Java NIO and Java 8 provide many new ways to read a file in Java, like using Scanner to read file in Java or Reading File in Java 8 but reading a file in Java using BufferedReader still remains one of the most used way.
The advantage of using buffered I/O streams for reading/writing file in Java is that each request doesn't trigger disk access or network activity.
When buffered input stream is used to read a file in Java data is read from a memory area known as a buffer; the native input API is called only when the buffer is empty.
In case of buffered output stream data is written to a buffer, and the native output API is called only when the buffer is full.
Java Program to read a file using BufferedReader
In the program readLine() method of the BufferedReader class is used to read the file. This method reads data from file one line at a time. A line is considered to be terminated by any one of a line feed ('\n'), a carriage return ('\r'), or a carriage return followed immediately by a linefeed.
import java.io.BufferedReader;
import java.io.IOException;
public class FileRead {
public static void main(String[] args) {
BufferedReader br = null;
try{
String strLine;
// Instance of FileReader wrapped in a BufferedReader
br = new BufferedReader(new java.io.FileReader("F:\\abc.txt"));
// Read lines from the file, returns null when end of stream
// is reached
while((strLine = br.readLine()) != null){
System.out.println("Line is - " + strLine);
}
}catch(IOException ioExp){
System.out.println("Error while reading file " + ioExp.getMessage());
}finally {
try {
// Close the stream
if(br != null){
br.close();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
Output
Line is - This is a test file. Line is - BuferedReader is used to read this file.
Using BufferedReader With try-with-resources
If you are using Java 7 or above you can use try-with-resources for automatic resource management while reading file using BufferedReader. In that case you don't have to explicitly close the resources using try-catch Block. Resources (in this case stream) will be closed automatically after the program is finished with it.
Resource will be declared with the try statement itself when using try-with-resources.
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class FileRead {
public static void main(String[] args) {
try(BufferedReader br = new BufferedReader(new FileReader("F://abc.txt"))){
String strLine;
// Read lines from the file, returns null when end of stream
// is reached
while((strLine = br.readLine()) != null){
System.out.println("Line is - " + strLine);
}
}catch(IOException ioExp){
System.out.println("Error while reading file " + ioExp.getMessage());
}
}
}
That's all for this topic Reading File in Java Using BufferedReader. If you have any doubt or any suggestions to make please drop a comment. Thanks!
>>>Return to Java Programs Page
Related Topics
You may also like-