ホームページ >Java >&#&チュートリアル >Java の Runtime.exec() でパイピングを確実に使用するにはどうすればよいですか?
Runtime.exec() によるパイプ処理
Java では、Runtime.exec() によるパイプ処理の利用は、相互接続のため困難になる場合があります。パイプの動作におけるプラットフォームの不一致。ただし、この問題に対処する方法はいくつかあります。
スクリプトの実行
1 つのアプローチは、目的のパイプ操作をカプセル化するスクリプトを作成し、代わりにそのスクリプトを実行することです。個別のコマンド。例:
#!/bin/sh ls /etc | grep release
次に、exec を使用してスクリプトを実行します:
String[] cmd = {"/bin/sh", "path/to/script.sh"}; Process p = Runtime.getRuntime().exec(cmd);
Shell-Based Pipe
もう 1 つのオプションは、次のように、シェルのパイプ機能を直接実行します。
String[] cmd = { "/bin/sh", "-c", "ls /etc | grep release" }; Process p = Runtime.getRuntime().exec(cmd);
「-c」オプションを使用すると、シェルは指定されたコマンド文字列をサブシェルで実行し、パイプやその他のシェル機能の使用を有効にします。
以上がJava の Runtime.exec() でパイピングを確実に使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。