将元素向下传递到流

时间:2019-03-27 20:43:49

标签: akka akka-stream

我想将文件向下传递到流,但是在某个中间阶段,我想通过将其转换为行流来对其进行处理。

我有这样的东西:

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

ProcessFileFlow看起来像这样:

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

我可以创建“文件和文件行对”,以将文件向下传递到流,但是随后归档方法被调用太多次,因为文件被复制的次数与该文件中的行数相同。 我只想为文件运行一次归档流。

做到这一点的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

看看fold [T](zero:T)(f:(T,Out)⇒T)方法,这将使您可以将(文件,行)缩小为例如一系列文件在调用存档步骤之前。