将 Source[ByteString, Future[IOResult]] 转换为 List[String]
Convert Source[ByteString, Future[IOResult]] to List[String]
我正在尝试读取文件。我需要将这个文件逐行读取到列表中。
val res: stream.scaladsl.Source[ByteString, Future[IOResult]] = Ftp.fromPath(Paths.get(uri), ftpSettings)
如何将 res 值转换为 List[String]?
您评论中的流程看起来是一个很好的起点。
尝试 运行 它对抗 Sink.seq
.
val f: Future[Seq[String]] = res
.via(Framing.delimiter( ByteString("\n"), maximumFrameLength = 256, allowTruncation = true))
.map(_.utf8String)
.runWith(Sink.seq)
val list: Seq[String] = Await.result(f, 10.seconds)
我正在尝试读取文件。我需要将这个文件逐行读取到列表中。
val res: stream.scaladsl.Source[ByteString, Future[IOResult]] = Ftp.fromPath(Paths.get(uri), ftpSettings)
如何将 res 值转换为 List[String]?
您评论中的流程看起来是一个很好的起点。
尝试 运行 它对抗 Sink.seq
.
val f: Future[Seq[String]] = res
.via(Framing.delimiter( ByteString("\n"), maximumFrameLength = 256, allowTruncation = true))
.map(_.utf8String)
.runWith(Sink.seq)
val list: Seq[String] = Await.result(f, 10.seconds)