ric*_*hid 5 scala stdout process
我正在尝试从需要用户输入的外部进程中捕获 stdout 和 stderr 流。到目前为止,我已将精力集中在使用scala.sys.process包中可用的工具上。我可以让用户交互或流捕获正常工作,但不能同时进行。我添加了一个简单的测试用例,其中包含两种行为的示例。我怀疑我没有正确连接输入/输出流,但我有点迷茫。
import scala.sys.process._
object Test extends App {
val processLogger = ProcessLogger(
(out: String) => println(s"OUT: $out"),
(err: String) => println(s"ERR: $err")
)
val cmd = "sbt new scala/scala-seed.g8"
// Allows user interaction but doesn't allow capture of stdout/stderr
val exitCode1 = cmd.run(connectInput = true).exitValue()
// Allows stdout/stderr capture but user input prompt is not displayed
val exitCode2 = cmd.run(processLogger, connectInput = true).exitValue()
}
Run Code Online (Sandbox Code Playgroud)