在Scala进程中忽略stdout

时间:2014-03-13 17:06:49

标签: shell scala

我将一些旧代码从Java移植到执行shell命令的Scala。 Scala代码使用' !!'来自scala.sys.process的方法。我遇到的问题是Scala代码将shell命令的stdout传递给scala的stdout,我真的只希望程序打印我用println()告诉它的内容。给出以下代码

import scala.sys.process._

class FidoWrapper(file: java.io.File){
  val fido = ("fido " + file.getAbsolutePath).!!
}

object Wrapper{
  def main(args: Array[String]){
    val wrapper = new FidoWrapper(new java.io.File("src/main/resources/testfile.txt"))
    println("===")
    println("result: " + wrapper.fido.split(",")(0))
  }
}

我得到以下输出:

FIDO v1.3.1 (formats-v70.xml, container-signature-20130501.xml, format_extensions.xml)
FIDO: Processed      1 files in 468.12 msec,  2 files/sec
===
result: OK

我希望拥有的是:

===
result: OK

这是我原来的Java代码所做的。无论如何我可以从shell进程重定向stdout,以便它不输出?有什么方法可以让这个过程沉默吗?

由于

1 个答案:

答案 0 :(得分:2)