1. Read file using java 8 lambda stream
- Given a file, read input file by line by line using lambda stream in java 8.
- Get the input file (“readFile.txt”) from class path or some absolute location.
- We will use Java 7 feature try -with-resources, which will ensures that resources will be closed (automatically).
- Read the input file, line by line.
- Register onClose method to attach a task.
- onClose method will be called, when read operation will be completed.
- Printing the “Finished reading the file” when stream is closed.
2. Program – read input file line by line using java 8 stream lambda
package org.learn; 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 ReadFileLineByLine { public static void main(String[] args) throws IOException { /* Hello We are reading file using java 8 Stream */ Path file = Paths.get( "readFile.txt" ); try (Stream<String>lines = Files.lines(file) .onClose(() -> System.out.println( "Finished reading the file" ))) { lines.forEach(System.out::println); } } } |
3. Output- read input file line by line (java 8 stream lambda)
Hello We are reading file using java 8 Files Finished reading the file |