I am reading the content from file, I put some name into the file with new line separator but while reading the file by vertx file-system I am not able to provide the required filter. every-time it print all the data of file.
Here is the code snippet :-
vertx.fileSystem().open("data.txt", new OpenOptions(), handler -> {
final AsyncFile asyncFile = handler.result();
final Observable<Buffer> observable = asyncFile.toObservable();
observable.subscribe(item -> {
final String[] split = item.toString().split("\n\r");
List<String> list = Arrays.asList(split);
final Observable<String> stringObservable = Observable.fromIterable(list);
stringObservable
.filter(name -> name.toString().startsWith("R"))
.take(2)
.subscribe(str -> System.out.println(str), err -> System.out.println(err), () -> System.out.println("Inner loop completed"));
}, error -> System.out.println(error), () -> System.out.println("Completed !!!"));
});
Internal observable I used after i find out the above observable have all the data of file in one go.