我需要执行一个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"例如?
答案 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}}