【发布时间】:2016-06-28 23:19:04
【问题描述】:
基本上,我有一个输出到标准输出的程序。我正在我的 Scala 代码中运行该程序。我现在要做的是将输出重定向到文件。像这样。
val cmd = progName + " " + arguments
cmd #> new java.io.File(outputFilePath) !
我还必须稍后处理该输出文件。这就是为什么这种方法很慢,因为我必须首先等待程序完成并将所有内容写入输出文件。我更喜欢流式传输标准输出的内容,以便在流式传输时从另一个线程读取内容。这样,我可以在我从 Scala 运行的程序运行时处理数据。
此外,输出文件中的数据由换行符分隔。有没有办法,可以在程序运行的时候逐行获取数据。
最后,Java 中有什么东西可以做到这一点,然后我也可以在 Scala 中使用它吗?
【问题讨论】:
-
看看 Scala ProcessBuilder 看看如何重定向标准输出
-
我对 Scala 的了解还不够,无法确定,但这可能是 this 的副本。
标签: java scala apache-spark