基本的に、出力がstdoutになるプログラムがあります。私はScalaコード内からそのプログラムを実行しています。私が今行っているのは、出力をファイルにリダイレクトすることです。このようなもの。Scalaでstdoutをストリームする方法は?
val cmd = progName + " " + arguments
cmd #> new java.io.File(outputFilePath) !
出力ファイルも後で処理する必要があります。そのため、このアプローチは遅いです。最初にプログラムが終了し、すべてが出力ファイルに書き込まれるのを待たなければなりません。私が好むのは、stdoutのコンテンツをストリーミングして、別のスレッドからストリーミング中のコンテンツを読むことができるようにすることです。このようにして、Scalaから実行しているプログラムが実行されている間にデータを処理することができます。
また、出力ファイルのデータは、改行で区切られます。方法はありますか、プログラムが実行されているときにデータを1行ずつ取得できます。
最後に、これを行うにはJavaに何かがありますが、これをScalaでも使用できますか?
標準出力をリダイレクトする方法については、[ProcessBuilderを](http://www.scala-lang.org/api/current/index.html#scala.sys.process.ProcessBuilder)スカラ座で見てください – cchantep
私はScalaについて十分に知ることはできませんが、これは[this](http://stackoverflow.com/a/5564667/1863564)の複製である可能性があります。 –