$show=/label

Java 8 Stream – How to Read a file line by line

SHARE:

A quick guide on how to read a file line by line using Java 8 Files.line(), filtering the file contents, BufferedReader lines() method, and with the old classic BufferedReader and Scanner classes examples.

1. Introduction


In this article, You'll learn how to read a file line by line using Java 8 Streams new API methods from Files, BufferedReader lines() methods.

We have already discussed how to read the large files efficiently in java with Streams.

Java 8 Stream – How to Read a file line by line


2. Create a Sample File


In the entire article, We will be using the below program in all examples.

Line 1 : Hello Reader
Line 2 : Welcome to the java programt to . com blog
Line 3 : Here you find the articles on the java concepts
Line 4 : This is example to read this file line by line
Line 5 : Let us see the examples on Java 8 Streams API.

3. Java 8 Read File Line By Line + Stream


Java 8 Files API has a method lines() that read all the lines from the file and keep inside Stream.

package com.javaprogramto.files;

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.stream.Stream;

public class FIlesLIinesExample {

    public static void main(String[] args) {

        String fileLocation = "/Users/venkateshn/Documents/VenkY/blog/workspace/CoreJava/src/main/resources/dummy.txt";

        Path filePath = Paths.get(fileLocation);

        try {

           Stream<String> allLines = Files.lines(filePath);

            System.out.println("File contents are : ");
           allLines.forEach( line -> System.out.println(line));

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}


Output:

File contents are :
Line 1 : Hello Reader
Line 2 : Welcome to the java programt to . com blog
Line 3 : Here you find the articles on the java concepts
Line 4 : This is example to read this file line by line
Line 5 : Let us see the examples on Java 8 Streams API.

4. Java 8 Read File Line By Line + Stream + Filter


Additionally, you can also apply the filter on top of each line and apply the logic as per your needs.

Let us find the line to print that has java word in it.

package com.javaprogramto.files;
import java.io.IOException;import java.nio.file.Files;import java.nio.file.Path;import java.nio.file.Paths;import java.util.stream.Stream;
public class FIlesLIinesFilterExample {

    public static void main(String[] args) {

        String fileLocation = "/Users/venkateshn/Documents/VenkY/blog/workspace/CoreJava/src/main/resources/dummy.txt";
        Path filePath = Paths.get(fileLocation);
        try {

           Stream<String> allLines = Files.lines(filePath);
            allLines.filter( line -> line.indexOf("java") > -1).map(line -> line.toLowerCase()).forEach(line -> System.out.println(line));        } catch (IOException e) {
            e.printStackTrace();        }
    }
}


Java 8 Read File Line By Line + Stream + Filter


Output:

line 2 : welcome to the java programt to . com blog
line 3 : here you find the articles on the java concepts

5. Java 8 Example to convert file contents into List<String> with Stream API


Converting each line into a List using Stream API.

package com.javaprogramto.files;
import java.io.IOException;import java.nio.file.Files;import java.nio.file.Path;import java.nio.file.Paths;import java.util.List;import java.util.stream.Collectors;import java.util.stream.Stream;
public class FIlesLIinesToListExample {

    public static void main(String[] args) {

        String fileLocation = "/Users/venkateshn/Documents/VenkY/blog/workspace/CoreJava/src/main/resources/dummy.txt";
        Path filePath = Paths.get(fileLocation);
        try {

           Stream<String> allLines = Files.lines(filePath);
            List<String> linesList = allLines. collect(Collectors.toList());            System.out.println("lines list size : "+linesList.size());        } catch (IOException e) {
            e.printStackTrace();        }
    }
}

Output:

lines list size : 5

6. BufferedReader + Stream API


BufferedReader has added with lines() method that returns a Stream<String>. This lines() method returns all lines as Stream.


package com.javaprogramto.files;
import java.io.BufferedReader;import java.io.IOException;import java.nio.file.Files;import java.nio.file.Path;import java.nio.file.Paths;import java.util.List;import java.util.stream.Collectors;import java.util.stream.Stream;

public class FIlesLIinesBufferedReaderExample {

    public static void main(String[] args) {

        String fileLocation = "/Users/venkateshn/Documents/VenkY/blog/workspace/CoreJava/src/main/resources/dummy.txt";
        Path filePath = Paths.get(fileLocation);
        try {

            BufferedReader bufferedReader = Files.newBufferedReader(filePath);
           Stream<String> allLines = bufferedReader.lines();
            List<String> uppperCaseList = allLines.map(value -> value.toUpperCase()).collect(Collectors.toList());
            uppperCaseList.forEach(line -> System.out.println(line));        } catch (IOException e) {
            e.printStackTrace();        }
    }
}

Output:

LINE 1 : HELLO READER
LINE 2 : WELCOME TO THE JAVA PROGRAMT TO . COM BLOG
LINE 3 : HERE YOU FIND THE ARTICLES ON THE JAVA CONCEPTS
LINE 4 : THIS IS EXAMPLE TO READ THIS FILE LINE BY LINE
LINE 5 : LET US SEE THE EXAMPLES ON JAVA 8 STREAMS API.
Disconnected from the target VM, address: '127.0.0.1:50139', transport: 'socket'

7. Conclusion


In this article, we have seen how to read the file using Java 8 Stream api lines() methods with Files and BufferedReader.

4 ways to read the CSV files in Java

Another article how to read files line by line with Scanner and RandomAccessFile.

As usual, all examples are shown on GitHub.

Ref 1
Ref 2

Oracle API Lines()

COMMENTS

BLOGGER

About Us

Author: Venkatesh - I love to learn and share the technical stuff.
Name

accumulo,1,ActiveMQ,2,Adsense,1,API,37,ArrayList,18,Arrays,24,Bean Creation,3,Bean Scopes,1,BiConsumer,1,Blogger Tips,1,Books,1,C Programming,1,Collection,8,Collections,37,Collector,1,Command Line,1,Comparator,1,Compile Errors,1,Configurations,7,Constants,1,Control Statements,8,Conversions,6,Core Java,149,Corona India,1,Create,2,CSS,1,Date,3,Date Time API,38,Dictionary,1,Difference,2,Download,1,Eclipse,3,Efficiently,1,Error,1,Errors,1,Exceptions,8,Fast,1,Files,17,Float,1,Font,1,Form,1,Freshers,1,Function,3,Functional Interface,2,Garbage Collector,1,Generics,4,Git,9,Grant,1,Grep,1,HashMap,2,HomeBrew,2,HTML,2,HttpClient,2,Immutable,1,Installation,1,Interview Questions,6,Iterate,2,Jackson API,3,Java,32,Java 10,1,Java 11,6,Java 12,5,Java 13,2,Java 14,2,Java 8,128,Java 8 Difference,2,Java 8 Stream Conversions,4,java 8 Stream Examples,12,Java 9,1,Java Conversions,14,Java Design Patterns,1,Java Files,1,Java Program,3,Java Programs,114,Java Spark,1,java.lang,4,java.util. function,1,JavaScript,1,jQuery,1,Kotlin,11,Kotlin Conversions,6,Kotlin Programs,10,Lambda,2,lang,29,Leap Year,1,live updates,1,LocalDate,1,Logging,1,Mac OS,3,Math,1,Matrix,6,Maven,1,Method References,1,Mockito,1,MongoDB,3,New Features,1,Operations,1,Optional,6,Oracle,5,Oracle 18C,1,Partition,1,Patterns,1,Programs,1,Property,1,Python,2,Quarkus,1,Read,1,Real Time,1,Recursion,2,Remove,2,Rest API,1,Schedules,1,Serialization,1,Servlet,2,Sort,1,Sorting Techniques,8,Spring,2,Spring Boot,23,Spring Email,1,Spring MVC,1,Streams,31,String,61,String Programs,28,String Revese,1,StringBuilder,1,Swing,1,System,1,Tags,1,Threads,11,Tomcat,1,Tomcat 8,1,Troubleshoot,26,Unix,3,Updates,3,util,5,While Loop,1,
ltr
item
JavaProgramTo.com: Java 8 Stream – How to Read a file line by line
Java 8 Stream – How to Read a file line by line
A quick guide on how to read a file line by line using Java 8 Files.line(), filtering the file contents, BufferedReader lines() method, and with the old classic BufferedReader and Scanner classes examples.
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgU8GYB2RQjoF0hR4pfohTuMVt4gI7pvcar9MnZmYGoHd7haunNXM3o0WuSjsSIjstjYisIhBd4K1gJ3YzIXipQXBdOt4_asL5KY6BLYJ-2BRsqcoQUbAVdDDFRQubTBkdJfIZjI5wyWro/s640/Java+8+Stream+%25E2%2580%2593+How+to+Read+a+file+line+by+line.png
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgU8GYB2RQjoF0hR4pfohTuMVt4gI7pvcar9MnZmYGoHd7haunNXM3o0WuSjsSIjstjYisIhBd4K1gJ3YzIXipQXBdOt4_asL5KY6BLYJ-2BRsqcoQUbAVdDDFRQubTBkdJfIZjI5wyWro/s72-c/Java+8+Stream+%25E2%2580%2593+How+to+Read+a+file+line+by+line.png
JavaProgramTo.com
https://www.javaprogramto.com/2020/07/java-8-stream-how-to-read-a-file-line-by-line.html
https://www.javaprogramto.com/
https://www.javaprogramto.com/
https://www.javaprogramto.com/2020/07/java-8-stream-how-to-read-a-file-line-by-line.html
true
3124782013468838591
UTF-8
Loaded All Posts Not found any posts VIEW ALL Readmore Reply Cancel reply Delete By Home PAGES POSTS View All RECOMMENDED FOR YOU LABEL ARCHIVE SEARCH ALL POSTS Not found any post match with your request Back Home Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sun Mon Tue Wed Thu Fri Sat January February March April May June July August September October November December Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec just now 1 minute ago $$1$$ minutes ago 1 hour ago $$1$$ hours ago Yesterday $$1$$ days ago $$1$$ weeks ago more than 5 weeks ago Followers Follow THIS PREMIUM CONTENT IS LOCKED STEP 1: Share to a social network STEP 2: Click the link on your social network Copy All Code Select All Code All codes were copied to your clipboard Can not copy the codes / texts, please press [CTRL]+[C] (or CMD+C with Mac) to copy Table of Content