在Java 中,利用Runtime.getRuntime().exec() 執行指令可以擷取程式的輸出和錯誤流。但是,在需要輸出重定向的情況下,單獨使用此方法可能會無效。
當使用Runtime.getRuntime().exec() 和以下命令時功能輸出重定向,例如
要成功重定向輸出,請考慮使用 ProcessBuilder。此類別提供了更精細的流程建立方法,支援輸出和錯誤流重定向的規範。
以下是如何使用ProcessBuilder 進行輸出重定向:
<code class="java">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</code>
透過使用ProcessBuilder,您可以將標準輸出和標準錯誤流重新導向到所需的文件,確保擷取指令的輸出。
以上是如何使用 Java 運行時解決輸出重定向問題?的詳細內容。更多資訊請關注PHP中文網其他相關文章!