代码之家  ›  专栏  ›  技术社区  ›  Alex Fruzenshtein

Akka Streams:文件接收器不写入流元素

  •  0
  • Alex Fruzenshtein  · 技术社区  · 8 年前

    我正在编写一个小的Akka流示例,我想在其中编写 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系统,所以它肯定有足够的时间来编写 列表 文件的元素。

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

    1 回复  |  直到 8 年前
        1
  •  2
  •   Jeffrey Chung    8 年前

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

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