首頁  >  文章  >  Java  >  如何使用運行時的 exec() 方法解決重定向輸出失敗?

如何使用運行時的 exec() 方法解決重定向輸出失敗?

Linda Hamilton
Linda Hamilton原創
2024-10-24 08:26:02630瀏覽

How to Resolve Redirection Output Failure with Runtime's exec() Method?

使用Runtime 的exec() 方法排查重定向輸出失敗

使用Java 的Runtime.exec() 方法執行指令時,重定向輸出檔案可能會遇到問題。具體來說,可能無法建立生成的文件,並且可能無法正確定向流。

為了解決這個問題,可以利用 ProcessBuilder 來有效地執行重定向。以下程式碼片段示範如何將 stdout 和 stderr 重定向到檔案:

ProcessBuilder builder = new ProcessBuilder("sh", "somescript.sh");
builder.redirectOutput(new File("out.txt"));
builder.redirectError(new File("out.txt"));
Process p = builder.start(); // may throw IOException

透過使用 ProcessBuilder,您可以將命令的輸出重新導向到指定文件,確保擷取輸出以供進一步使用正在處理。

以上是如何使用運行時的 exec() 方法解決重定向輸出失敗?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn