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