Java执行Windows为什么批处理文件没有处理?

Java执行Windows为什么批处理文件没有处理?,第1张

Java执行Windows为什么批处理文件没有处理?

现在输出挂在

waitFor()

使用Java从外部启动外部进程时,

Runtime.exec
必须读取该进程产生的任何输出,否则该进程可能会阻塞(来源:JavaDocs for
java.lang.Process
)。

ProcessBuilder
改用,并调用
redirectErrorStream
以合并标准输出和错误流,然后从中读取所有内容,
process.getInputStream()
直到达到EOF。只有这样才能安全打电话
waitFor

ProcessBuilder还将帮助解决空格问题,因为您必须自己将命令行拆分为单个单词

ProcessBuilder pb = new ProcessBuilder("cmd", "/c", file.getAbsolutePath());


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5094969.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-16
下一篇 2022-11-16

发表评论

登录后才能评论

评论列表(0条)

保存