首頁 > Java > java教程 > 主體

為什麼 Java 的運行時 Exec() 方法不重定向輸出?

Susan Sarandon
發布: 2024-10-24 08:34:29
原創
710 人瀏覽過

Why is Java's Runtime Exec() Method Not Redirecting Output?

Java 的Runtime Exec() 方法不重定向輸出

嘗試重定向使用Runtime.getRuntime() 執行的腳本的輸出時。 exec()時,使用者可能會遇到重定向無效且不產生輸出檔案的問題。

為了解決這個問題,需要使用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>
登入後複製

此方法可確保腳本的標準輸出和錯誤輸出都重定向到指定文件,從而確保成功捕獲腳本的輸出。

以上是為什麼 Java 的運行時 Exec() 方法不重定向輸出?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!