我正在尝试实现一个函数,该函数启动一个进程并将其标准输出返回为InputStream
.
def getStuff(): InputStream = ???
在 Java 中似乎很容易做到,但我不知道如何sys.process
在 Scala 中使用它。
您可以将命令的输出通过管道传输到OutputSteam
with #>
。然后你只需要复制OutputStream
到InputStream
:
import scala.sys.process._
import java.io._
import scala.io.Source
def getStuff(): InputStream = {
val os = new ByteArrayOutputStream
("echo 'Hello'" #> os).!
new ByteArrayInputStream(os.toByteArray());
}
Source.fromInputStream(getStuff()).mkString //"Hello"
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句