ホームページ > Java > &#&チュートリアル > Java でコマンドを実行するときにパラメータを効果的に渡すにはどうすればよいですか?

Java でコマンドを実行するときにパラメータを効果的に渡すにはどうすればよいですか?

Linda Hamilton
リリース: 2024-11-15 14:30:03
オリジナル
496 人が閲覧しました

How to Effectively Pass Parameters When Executing Commands in Java?

Java でのパラメーターを使用したコマンドの実行

Java では、Runtime.getRuntime().exec() メソッドを通じてパラメーターを使用してコマンドを実行できます。ただし、パラメーターを効果的に指定する場合は、考慮すべき特定のニュアンスがあります。

例 1

次のコードはパラメーターを使用して 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 を使用して実行されます。

例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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート