第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

調(diào)用Runtime.exec時捕獲stdout

調(diào)用Runtime.exec時捕獲stdout

躍然一笑 2019-06-10 20:22:02
調(diào)用Runtime.exec時捕獲stdout當(dāng)在客戶端計算機(jī)上遇到網(wǎng)絡(luò)問題時,我希望能夠運(yùn)行幾行命令行,并將結(jié)果發(fā)送給自己。我發(fā)現(xiàn)Runtime.exec將允許我執(zhí)行任意命令,但是在字符串中收集結(jié)果更有趣。我意識到我可以將輸出重定向到一個文件中,然后從文件中讀取,但我的感覺是,有一種更優(yōu)雅的方法。建議?
查看完整描述

3 回答

?
人到中年有點(diǎn)甜

TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超7個贊

您需要同時捕獲進(jìn)程中的STD Out和STD錯誤。然后,您可以將STD寫到文件/郵件或類似的文件中。

看見這篇文章有關(guān)更多信息,特別是請注意StreamGobbler在不同線程中捕獲stdout/err的機(jī)制。這是必要的,以防止阻塞,是許多錯誤的來源,如果你不正確地做它!


查看完整回答
反對 回復(fù) 2019-06-10
?
森林海

TA貢獻(xiàn)2011條經(jīng)驗(yàn) 獲得超2個贊

使用ProcessBuilder..調(diào)用start()之后,您將得到一個加工過程對象,可以從中獲取stderr和stdout流。

更新:ProcessBuilder為您提供了更多的控制權(quán);您不必使用它,但從長遠(yuǎn)來看,我發(fā)現(xiàn)它更容易使用。特別是將stderr重定向到stdout的能力,這意味著您只需吸下一條流。


查看完整回答
反對 回復(fù) 2019-06-10
?
一只斗牛犬

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超2個贊

使用[醫(yī)]Utils叢,Maven使用它來執(zhí)行所有外部進(jìn)程。

Commandline commandLine = new Commandline();

commandLine.setExecutable(executable.getAbsolutePath());


Collection<String> args = getArguments();


for (String arg : args) {

    Arg _arg = commandLine.createArg();

    _arg.setValue(arg);

}


WriterStreamConsumer systemOut = new WriterStreamConsumer(console);

WriterStreamConsumer systemErr = new WriterStreamConsumer(console);


returnCode = CommandLineUtils.executeCommandLine(commandLine, systemOut, systemErr, 10);

if (returnCode != 0) {

    // bad

} else {

    // good

}


查看完整回答
反對 回復(fù) 2019-06-10
  • 3 回答
  • 0 關(guān)注
  • 764 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號