」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何使用 Java 運行時解決輸出重定向問題?

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

發佈於2024-11-07
瀏覽:335

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

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

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

問題:輸出未重定向

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

解決方案:使用 ProcessBuilder

要成功重定向輸出,請考慮使用 ProcessBuilder。此類別提供了更精細的流程建立方法,支援輸出和錯誤流重定向的規範。

以下是如何使用 ProcessBuilder 進行輸出重定向:

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,您可以將標準輸出和標準錯誤流重定向到所需的文件,確保捕獲命令的輸出。

版本聲明 本文轉載於:1729728181如有侵犯,請洽[email protected]刪除
最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3