首頁 > Java > java教程 > 主體

如何使用 Java 運行時解決輸出重定向問題?

Patricia Arquette
發布: 2024-10-24 08:07:02
原創
932 人瀏覽過

How to Address Output Redirection Issues Using Java's Runtime?

使用Runtime 的exec() 方法解決輸出重新導向問題

在Java 中,利用Runtime.getRuntime().exec() 執行指令可以擷取程式的輸出和錯誤流。但是,在需要輸出重定向的情況下,單獨使用此方法可能會無效。

問題:輸出未重定向

當使用Runtime.getRuntime().exec() 和以下命令時功能輸出重定向,例如 > ,重定向操作可能會失敗。可能無法建立目標文件,且輸出流保持未重定向。

解:使用 ProcessBuilder

要成功重定向輸出,請考慮使用 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中文網其他相關文章!

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