Java BufferedReader
📖 Java BufferedReader
BufferedReader is a character input stream that reads text from a character-input stream efficiently.
It buffers characters to provide efficient reading of characters, arrays, and lines.
-
Package:
java.io -
Superclass:
Reader -
Often used with FileReader for reading text files.
✅ Syntax
 1. Reading a File Line by Line
-
readLine()reads a full line from the file. -
Returns null when end-of-file (EOF) is reached.
 2. Reading a File Character by Character
-
read()reads one character at a time. -
Returns -1 at EOF.
 3. Reading from Console Using BufferedReader
-
InputStreamReader(System.in)converts byte stream to character stream. -
BufferedReaderefficiently reads text from console.
 4. Wrapping BufferedReader with FileReader (Best Practice)
-
BufferedReaderwraps FileReader for efficiency. -
Reads lines and characters faster than FileReader alone.
 5. Important Methods
| Method | Description |
|---|---|
read() |
Reads a single character |
readLine() |
Reads a full line of text |
close() |
Closes the stream |
ready() |
Checks if stream is ready to be read |
✅ Best Practices
-
Always use try-with-resources to automatically close the stream.
-
Use BufferedReader instead of FileReader for large files.
-
Use
readLine()to process files line by line.
Summary
-
BufferedReader= Efficient character input stream -
Reads lines or characters
-
Often wrapped around FileReader or InputStreamReader
-
Preferred for text file reading and console input
