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