我学习Reactive/Mutiny。我试着用Mutiny读取文件的行。用命令式的方式来做,很简单:
public List<String> load(final InputStream inData) throws IOException {
final List<String> content = new ArrayList<>();
final BufferedReader bReader = new BufferedReader(new InputStreamReader(inData, ENCODING));
String text;
while ((text = bReader.readLine()) != null) {
content.add(text);
}
return content;
}
我找不到任何React式的例子。看起来像:
final BufferedReader bReader = new BufferedReader(new InputStreamReader(inData, ENCODING));
Multi<String> multi = Multi.createFrom(bReader::readline);
我完全不碍事了吗?
1条答案
按热度按时间7eumitmz1#
(回应我的评论)
我建议使用Vert.x文件系统(有Mutiny API),它可以充分地异步读取文件。在这里,你是在阻挡,这就违背了使用兵变的目的。见smallrye.io/smallrye-mutiny-vertx-bindings/2.8.0/apidocs/io/quarkus.io/blog/mutiny-vertx。