- We can use BufferedReader to Read Character Data(text data) from file.
- The main advantage of BufferedReader over FileReader is we can Read Data Line by line in addition to Character by Character, which is more convenient to the programmer.
Constructors :
BufferedReader br = new BufferedReader(Reader r);
BufferedReader br = new BufferedReader(Reader r, int bufferSize);
Note : BufferedReader cannot directly communicate with the file, it has to communicate via some reader object.
Methods :
int read();
int read(char[] ch);
void close();
String readLine();
- It attempts to read next line from the file and returns it, if it is available.
- It next line is not available, then it will return null.
Sample program to read line using buffered reader :
package com.fileDemo;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
public class Demo {
public static void main(String[] args) throws IOException {
File f = new File("/home/tyson/Desktop/temp/file2");
FileReader fr = new FileReader(f);
BufferedReader br = new BufferedReader(fr);
String line = br.readLine();
while(line!=null) {
System.out.println(line);
line = br.readLine();
}
br.close();
}
}
Note :
- We need not close FileReader object, while closing BufferedReader object the FileReader object is closed implicitly.
- Most enhanced reader to read data from the file is BufferedReader