读取exec kotlin的输出

时间:2017-12-17 19:23:35

标签: java io kotlin output

我需要执行一个jar文件,并将执行过程的输出重定向到我的主进程的输出。

我使用以下代码:

val command = "java.exe -version"
val p = Runtime.getRuntime().exec(command)
val buf = p.getInputStream()
val inputAsString = buf.bufferedReader().use { it.readText() }
println(inputAsString)

我没有输出......

我已经测试了这段代码:

val command = "cmd /c chcp"
val p = Runtime.getRuntime().exec(command)
val sc = Scanner(p.inputStream)
println(sc.nextLine())
sc.close()

我有一个输出,但当我更换" cmd / c chcp"我有一个错误......

如何阅读" test.jar"的输出?写" ok"例如?

1 个答案:

答案 0 :(得分:0)

    val p = Runtime.getRuntime().exec(command)
    p.waitFor()
    val stdOut = IOUtils.toString(p.inputStream, Charsets.UTF_8)
    val stdErr = IOUtils.toString(p.errorStream, Charsets.UTF_8)

使用org.apache.commons.io的{​​{1}}