对于基本问题,我很抱歉…我有一个函数,它接受一个包含文件内容的InputStream,并返回一个对象列表,比如Person。
输入文件的每一行都包含一个人,所以我想逐行解析它。没有什么困难,但是…这次我想使用React式编程。
类似于:
public List<Person> parse(final InputStream is) throws IOException {
return
//create an observable which will split the input in many lines, "\n"
.map(Person::new)
.collect(toList());
}
我错过了注解步骤,即:创建一个不基于字节,而是基于行的可观察对象。
2条答案
按热度按时间jdgnovmf1#
可以使用
BufferedReader
的lines
方法创建String
和stream
:返回
Stream
,其元素是从BufferedReader
读取的行。代码与此类似:
所以你的代码应该是这样的:
syqv5f0l2#
根据您的代码,您不需要实现行的Observable,因为您希望以后使用Java的Streams。您不能从Rx移回java流。
但如果你想完全基于Observable,你可以从以下开始: