Java stream file lines with try-with-resources
Java
import java.io.IOException;
import java.io.UncheckedIOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public final class LineReader {
public static List<String> read(Path path) {
try (Stream<String> lines = Files.lines(path, StandardCharsets.UTF_8)) {
return lines.map(String::trim).filter(s -> !s.isEmpty()).collect(Collectors.toList());
} catch (IOException e) {
throw new UncheckedIOException("failed to read " + path, e);
}
}
}