Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package cvi6.demonstrations;
- import java.io.IOException;
- import java.nio.file.Files;
- import java.nio.file.Paths;
- import java.util.List;
- import javaslang.collection.Stream;
- public class JavaslangTakeWhile {
- public static void main(String[] args) throws IOException {
- // create javaslang stream from java stream
- java.util.stream.Stream<String> javaStreamOfLines = Files.lines(Paths.get("data.txt"));
- Iterable<String> itr = () -> javaStreamOfLines.iterator();
- Stream<String> lines = Stream.ofAll(itr);
- // trivial code for grouping records into lists by "==" delimiter
- // this is not functional, could be rewritten to functional code using recursion
- int i = 0;
- int drop = 0;
- while(!lines.isEmpty()) {
- List<String> record = lines
- .drop(drop)
- .takeWhile(line -> !line.contains("=="))
- .toJavaList();
- System.out.println(record);
- drop += record.size()+1;
- // don't do it for whole file
- if(i++ > 3) break;
- }
- javaStreamOfLines.close();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement