java 如何使用Mutiny解析文件行

yhived7q  于 2023-10-14  发布在  Java
关注(0)|答案(1)|浏览(82)

我学习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);

我完全不碍事了吗?

7eumitmz

7eumitmz1#

(回应我的评论)
我建议使用Vert.x文件系统(有Mutiny API),它可以充分地异步读取文件。在这里,你是在阻挡,这就违背了使用兵变的目的。见smallrye.io/smallrye-mutiny-vertx-bindings/2.8.0/apidocs/io/quarkus.io/blog/mutiny-vertx。

相关问题