BufferedReader extends Reader. Reads text from a character-input stream, buffering characters so as to provide for the efficient reading of characters, arrays, and lines.The buffer size may be specified, or the default size may be used.
Constructors
![BufferedReader in Java](http://javagyansite.com/wp-content/uploads/2020/03/screen-shot-2020-03-28-at-6.53.53-pm.png)
Methods
![Screen Shot 2020-03-28 at 7.09.06 PM](http://box5201.temp.domains/~javagyan/wp-content/uploads/2020/03/screen-shot-2020-03-28-at-7.09.06-pm.png)
Example
Reading the below File.
![Screen Shot 2020-03-28 at 1.33.27 PM](http://box5201.temp.domains/~javagyan/wp-content/uploads/2020/03/screen-shot-2020-03-28-at-1.33.27-pm.png)
package com.java.io;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;
public class BufferedReaderExample {
public static void main(String[] args) {
Reader reader = null;
BufferedReader br = null;
try {
reader = new FileReader("/Test/TestFolder/test-file.txt");
// Created BufferedReader with the underlying Reader
br = new BufferedReader(reader);
// Check if markSupported by BufferedReader
System.out.println("Is Mark Supported:" + br.markSupported());
if (br.markSupported()) {
// marks the current position
// 10 characters to be read before the mark position becomes invalid
br.mark(10);
}
// Skip 5 characters of data
br.skip(5);
System.out.print("After Skip File Content:");
// Checks if the stream is ready to be read
while (br.ready()) {
// Reading one character for each loop
System.out.print((char) br.read());
}
// Resets to the earlier marked position
br.reset();
System.out.println("");
System.out.print("After Reset File Content using readLine:");
while (br.ready()) {
// Using readLIne to read one line for each loop
System.out.print(br.readLine());
}
// Resetting again to the earlier marked position
br.reset();
System.out.println("");
System.out.print("Reading characters into char Array:");
char c[] = new char[10];
if (br.ready()) {
br.read(c);
for (int i = 0; i < 10; i++) {
System.out.print(c[i]);
}
}
} catch (IOException ex) {
ex.printStackTrace();
} finally {
// Closing the streams
if (reader != null)
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
if (br != null)
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
Output
Is Mark Supported:true
After Skip File Content:Data
After Reset File Content using readLine:Test Data
Reading characters into char Array:Test Data
Using lines to get a Stream
Reading the below file.
![Screen Shot 2020-03-28 at 7.14.30 PM](http://box5201.temp.domains/~javagyan/wp-content/uploads/2020/03/screen-shot-2020-03-28-at-7.14.30-pm.png)
package com.java.io;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;
public class BufferedReaderLinesExample {
public static void main(String[] args) {
Reader reader = null;
BufferedReader br = null;
try {
reader = new FileReader("/Test/TestFolder/test-file1.txt");
// Created BufferedReader with the underlying Reader
br = new BufferedReader(reader);
if (br.ready()) {
// Using lines
br.lines().forEach(x - > System.out.println(x));
}
} catch (IOException ex) {
ex.printStackTrace();
} finally {
// Closing the streams
if (reader != null)
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
if (br != null)
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
Output
Test data1
Test data2
Test data3
Related Article