Java では、Runtime.getRuntime().exec() メソッドを通じてパラメーターを使用してコマンドを実行できます。ただし、パラメーターを効果的に指定する場合は、考慮すべき特定のニュアンスがあります。
次のコードはパラメーターを使用して PHP コマンドを実行しようとしますが、機能しません:
Process p = Runtime.getRuntime().exec(new String[]{"php","/var/www/script.php -m 2"});
ここでの問題は、パラメータがコマンドに渡される方法にあります。以下に示すように、-m パラメーターは別の引数として指定する必要があります。
Runtime.getRuntime().exec(new String[]{"php","/var/www/script.php", "-m", "2"});
これで、PHP コマンドは意図したとおりパラメーター -m 2 を使用して実行されます。
オプション配列で exec() メソッドを使用する別の試みも失敗します:
String[] options = new String[]{"option1", "option2"}; Runtime.getRuntime().exec("command", options);
このコードが失敗する理由は、パラメーターが適切に分離されていないためです。コマンド自体は文字列として指定され、オプション配列には追加のパラメーターが含まれます。これらのパラメータを使用してコマンドを実行するには、それらを 1 つの文字列に連結する必要があります。
たとえば、コマンド「command」をオプション「option1」と「option2」で実行するには、次のコードを使用できます。 :
Runtime.getRuntime().exec(new String[]{"command", "option1", "option2"});
適切な構文とパラメータの分離を遵守することで、exec() メソッドを効果的に利用して、Java でパラメータを使用してコマンドを実行できます。
以上がJava でコマンドを実行するときにパラメータを効果的に渡すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。