从exec kotlin读取输出

问题描述 投票:0回答:1

我需要执行一个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”?

java io kotlin output
1个回答
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用于IOUtils

© www.soinside.com 2019 - 2024. All rights reserved.