ランタイムの 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 中国語 Web サイトの他の関連記事を参照してください。