将元素传递给流

问题描述 投票:0回答:1

我想将文件传递给流,但在某个中间阶段,我想通过将其转换为行流来处理它。

我有这样的事情:

Stream.flow(file1, file2, file3)
.via(processFileFlow)
.via(archiveFlow)

ProcessFileFlow看起来像这样:

Flow.create().map(file1 -> Files.lines(file1)).map(line -> {send(line); return line;})

我可以创建文件和文件行对,将文件传递给流,但随后调用归档方法的次数太多,因为文件重复次数与此文件中的行数一样多。我想只为文件运行一次归档流程。

最好的方法是什么?

akka akka-stream
1个回答
0
投票

看一下fold [T](零:T)(f:(T,Out)⇒T)方法,它可以让你在归档之前将你的(文件,行)减少到例如一系列文件步骤被称为。

© www.soinside.com 2019 - 2024. All rights reserved.