Scala中的命名管道

时间:2015-08-06 01:48:25

标签: scala pipe named-pipes

我想使用命名管道连接Scala和Python。但是,我无法在Scala中找到命名管道的示例。我的Python程序生成数据并将数据发送到C ++程序或Scala程序。我能够在Python和C ++之间使用命名管道连接,但不能在Python和Scala之间工作。数据生成器是Python文件,而C ++或Scala是使用者。一世 我的操作系统是Ubuntu 14.04。 如果有人能在scala中发布命名管道的例子,那将会很棒。 提前致谢

1 个答案:

答案 0 :(得分:1)

这是一种以Scala为中心的方法,只是为了让事情开始。

// first mkfifo /tmp/NP

scala> import scala.io.Source
import scala.io.Source

// this will block until the pipe is written to
scala> val itr = Source.fromFile("/tmp/NP")
itr: scala.io.BufferedSource = non-empty iterator

// after I write "12345 to the end" to the pipe I can work with the iterator

scala> itr.descr
res9: String = file:/tmp/NP

scala> itr.hasNext
res10: Boolean = true

scala> itr.next
res11: Char = 1

scala> itr.next
res12: Char = 2

scala> itr.mkString
res13: String =
"345 to the end
"