【问题标题】:Akka Streams: File Sink does not write stream elementsAkka Streams:File Sink 不写入流元素
【发布时间】:2018-07-25 15:30:44
【问题描述】:

我正在编写一个小的 Akka Streams 示例,我想将 List 的元素写入本地 TXT 文件

implicit val ec = context.dispatcher
implicit val actorSystem = context.system
implicit val materializer = ActorMaterializer()

val source = Source(List("a", "b", "c"))
  .map(char => ByteString(s"${char} \n"))

val runnableGraph = source.toMat(FileIO.toPath(Paths.get("~/Downloads/results.txt")))(Keep.right)

runnableGraph.run()

该文件已由我在代码中设置的位置创建。 我没有终止actor系统,所以肯定有足够的时间将所有List元素写入文件。

但不幸的是,什么也没发生

【问题讨论】:

    标签: scala akka akka-stream


    【解决方案1】:

    使用您的主目录的扩展路径而不是波浪号 (~)。例如:

    val runnableGraph =
      source.toMat(
        FileIO.toPath(Paths.get("/home/YourUserName/Downloads/results.txt")))(Keep.right)
    
    runnableGraph.run()
    

    【讨论】:

    • 正确。绝对路径工作正常!如果我想写入位于“资源”目录中的文件怎么办?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-06
    • 2020-06-27
    • 2018-07-08
    • 2018-01-10
    • 1970-01-01
    相关资源
    最近更新 更多