亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

ProcessBuilder與Runtime.exec()的區別

ProcessBuilder與Runtime.exec()的區別

Go
肥皂起泡泡 2019-10-12 19:07:24
ProcessBuilder與Runtime.exec()的區別我試圖從java代碼中執行一個外部命令,但我注意到Runtime.getRuntime().exec(...)和new Process(...).start().使用時Runtime:Process p = Runtime.getRuntime().exec(installation_path +                                         uninstall_path +                                         uninstall_command +                                         uninstall_arguments);p.waitFor();exitValue為0,命令終止為ok。然而,與ProcessBuilder:Process p = (new ProcessBuilder(installation_path +                                      uninstall_path +                                  uninstall_command,                                  uninstall_arguments)).start();p.waitFor();退出值為1001,命令在中間終止,盡管waitFor退貨。我該怎么做才能解決這個問題?ProcessBuilder?
查看完整描述

3 回答

?
元芳怎么了

TA貢獻1798條經驗 獲得超7個贊

看看Runtime.getRuntime().exec()將字符串命令傳遞給ProcessBuilder..它使用令牌程序并將命令分解為單個令牌,然后調用exec(String[] cmdarray, ......)構造ProcessBuilder.

如果您構造ProcessBuilder使用字符串數組而不是單個字符串,您將得到相同的結果。

這個ProcessBuilder構造函數采用String...因此,將整個命令作為單個字符串傳遞與在終端中以引號調用該命令具有相同的效果:

shell$ "command with args"



查看完整回答
反對 回復 2019-10-13
  • 3 回答
  • 0 關注
  • 502 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號