我正在从文件中读取内容,我用换行符将一些名称放入文件中,但是在通过 vertx 文件系统读取文件时,我无法提供所需的过滤器。每次打印文件的所有数据。
这是代码片段:-
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 !!!"));
});
在我发现上述 observable 一口气拥有文件的所有数据后,我使用了内部 observable。