Update Java 16:

line =  buffer.lines().toList();

One line of code using Java 8:

line =  buffer.lines().collect(Collectors.joining());
Answer from Russel Yang on Stack Overflow
🌐
Oracle
docs.oracle.com › javase › 8 › docs › api › java › io › BufferedReader.html
BufferedReader (Java Platform SE 8 )
April 21, 2026 - After execution of the terminal stream operation there are no guarantees that the reader will be at a specific position from which to read the next character or line. If an IOException is thrown when accessing the underlying BufferedReader, it is wrapped in an UncheckedIOException which will be thrown from the Stream method that caused the read to take place. This method will return a Stream if invoked on a BufferedReader that is closed. Any operation on that stream that requires reading from the BufferedReader after it is closed, will cause an UncheckedIOException to be thrown. ... Java™ Platform Standard Ed.
🌐
Medium
medium.com › @AlexanderObregon › javas-bufferedreader-lines-method-explained-1cdc1db4b7b2
Java’s BufferedReader.lines() Method Explained | Medium
December 18, 2024 - Here, the try-with-resources block automatically closes the BufferedReader. If the file being read is empty, the lines() method will return an empty stream. This is not an error but requires consideration in the logic to handle scenarios where no data is available. ... import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; public class HandleEmptyFile { public static void main(String[] args) { String filePath = "empty.txt"; try (BufferedReader reader = new BufferedReader(new FileReader(filePath))) { boolean hasLines = reader.lines().findAny().isPresent(); if (!hasLines) { System.out.println("The file is empty."); } } catch (IOException e) { e.printStackTrace(); } } }
🌐
Tutorialspoint
tutorialspoint.com › java › io › bufferedreader_readline.htm
Java - BufferedReader readLine() method
The BufferedReader reads a string containing multiple lines of text. The readLine() method is used inside a loop to read one line at a time. A counter (lineCount) increments for each line read, keeping track of the total number of lines.
🌐
DigitalOcean
digitalocean.com › community › tutorials › java-read-file-line-by-line
Java Read File: Complete Guide with Examples | DigitalOcean
February 20, 2025 - Continue your learning with the BufferedReader API Doc (Java SE 8). You can use the Scanner class to open a file and then read its content line-by-line.
🌐
GeeksforGeeks
geeksforgeeks.org › java › bufferedreader-readline-method-in-java-with-examples
BufferedReader readLine() method in Java with Examples - GeeksforGeeks
May 28, 2020 - Exceptions: This method throws IOException if an I/O error occurs. Below programs illustrate readLine() method in BufferedReader class in IO package: Program 1: Assume the existence of the file "c:/demo.txt".
Find elsewhere
🌐
Medium
medium.com › @AlexanderObregon › javas-bufferedreader-readline-method-explained-66b76877a7e4
Java’s BufferedReader.readLine() Method Explained | Medium
August 30, 2024 - This approach allows you to efficiently process large datasets by handling each record individually. Another common use case for BufferedReader.readLine() is in filtering and processing log files. Suppose you have a log file generated by a server, and you need to extract and analyze only the lines that contain warnings. import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; public class LogFilter { public static void main(String[] args) { try (BufferedReader br = new BufferedReader(new FileReader("server.log"))) { String line; while ((line = br.readLine()) != null) { if (line.contains("WARNING")) { System.out.println("Warning Log: " + line); } } } catch (IOException e) { e.printStackTrace(); } } } This example demonstrates how readLine() can be used to efficiently scan and filter large log files.
🌐
Oracle
docs.oracle.com › javase › 7 › docs › api › java › io › BufferedReader.html
BufferedReader (Java Platform SE 7 )
Reads text from a character-input ... and lines. The buffer size may be specified, or the default size may be used. The default is large enough for most purposes. In general, each read request made of a Reader causes a corresponding read request to be made of the underlying character or byte stream. It is therefore advisable to wrap a BufferedReader around any ...
🌐
Baeldung
baeldung.com › home › java › java io › guide to bufferedreader
Guide to BufferedReader | Baeldung
January 8, 2024 - In addition to buffering, BufferedReader also provides some nice helper functions for reading files line-by-line.
🌐
W3Schools
w3schools.com › java › java_bufferedreader.asp
Java BufferedReader
Java Examples Java Videos Java ... BufferedWriter make reading and writing text files faster. BufferedReader lets you read text line by line with readLine()....
🌐
Cornell Computer Science
cs.cornell.edu › courses › JavaAndDS › files › io3readFile.pdf pdf
Reading a text file
It’s pretty simple. Once a BufferedReader object bf has been created for a file, calling method bf.readLine() reads and returns a line of text. If there are no more lines to read, bf.readLine()returns null. After reading the · file, close the file by calling method bf.close(). We give the ...
🌐
Oracle
docs.oracle.com › en › java › javase › 22 › docs › api › java.base › java › io › BufferedReader.html
BufferedReader (Java SE 22 & JDK 22)
July 16, 2024 - 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. The default is large enough for most purposes. In general, each read request made of ...
🌐
Java67
java67.com › 2020 › 09 › bufferedreader-lines-stream-example-in-java-8.html
How to read a File line by line in Java 8 ? BufferedReader lines() + Stream Examples | Java67
The BufferedReader.lines() is kind of interesting, letting you turn a BufferedReader into a java.util.Stream in Java 8. This is a very powerful thing as it allows you to tread a file as a stream and then you can apply all sorts of Stream methods like map, count, flatMap, filter, distinct, etc to apply the powerful transformation.
🌐
Oracle
docs.oracle.com › javase › 10 › docs › api › java › io › BufferedReader.html
BufferedReader (Java SE 10 & JDK 10 )
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. The default is large enough for most purposes. In general, each read request made of ...
🌐
Jsparrow
jsparrow.github.io › rules › buffered-reader-lines.html
Use BufferedReader::lines | jSparrow Documentation
try (BufferedReader bufferedReader = new BufferedReader(new FileReader("file.name.txt"))) { for(String line; (line = bufferedReader.readLine()) != null;) { consume(line); } }
🌐
Oracle
docs.oracle.com › en › java › javase › 21 › docs › api › java.base › java › io › BufferedReader.html
BufferedReader (Java SE 21 & JDK 21)
January 20, 2026 - 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. The default is large enough for most purposes. In general, each read request made of ...