Javaでコマンドラインパラメータを使用する方法

藏色散人
リリース: 2021-04-20 11:56:32
オリジナル
17507 人が閲覧しました

Java でコマンド ライン パラメータを使用する方法: まず、ターミナル ウィンドウから Java アプリケーションを実行し、次にパラメータをアプリケーションの開始点に渡します。

Javaでコマンドラインパラメータを使用する方法

この記事の動作環境: Windows 7 システム、Dell G3 コンピューター、Java バージョン 8.0。

コマンド ライン パラメーターは、アプリケーションの構成プロパティを指定する方法として使用できます。Java も例外ではありません。オペレーティング システムのアプリケーション アイコンをクリックする代わりに、ターミナル ウィンドウから Java アプリケーションを実行できます。アプリケーション名に加えて、その後に多数のパラメータを続けることができ、これらのパラメータはアプリケーションの開始点 (つまり、Java の場合は main メソッド) に渡されます。

たとえば、NetBeans には、ターミナル ウィンドウから実行するときにアプリケーションに渡すことができる起動パラメータが多数あります (たとえば、-jdkhome は、JDK に関連付けられているバージョン以外の JDK のバージョンを指定します) NetBeans アプリケーションのデフォルト JDK)。

メイン メソッド

メイン メソッドをチェックして、アプリケーションに渡されるパラメーターがどこに表示されるかを確認しましょう:

public static void main(String[] args)
{
...do something here
}
ログイン後にコピー

コマンド ライン パラメーターは問題ありません。引数を検索します。という名前の文字列配列内。

たとえば、渡されたコマンド ライン引数を出力することだけが唯一のアクションである CommandLineArgs というアプリケーションについて考えてみましょう。

public class CommandLineArgs {
    public static void main(String[] args) {
        //检查字符串数组是否为空
        if (args.length == 0)
        {
            System.out.println("There were no commandline arguments passed!");
        }
        //对于字符串数组中的每个字符串
        //打印出字符串。
        for(String argument: args)
        {
            System.out.println(argument);
        }
    }
}
ログイン後にコピー

コマンド ライン引数の構文

Java ランタイム エンジン (JRE) は、以下に示すように、特定の構文に従ってパラメーターが渡されることを期待しています。

java ProgramName value1 value2
ログイン後にコピー

上記では、JRE は「java」の後に名前を付けて呼び出されます。呼び出しているプログラム。次に、プログラムのパラメータです。プログラムが受け取ることができる引数の数に制限はありませんが、順序は重要です。 JRE は、コマンド ラインに表示される順序で引数を渡します。たとえば、上記のコード スニペットを考えてみましょう。

public class CommandLineArgs2 {

    public static void main(String[] args) {
        if (args.length == 0)
        {
            System.out.println("There were no commandline arguments passed!");
        }
ログイン後にコピー

引数が Java プログラムに渡される場合、args[0] は配列の最初の要素 (上記の value1) で、args[1] は 2 番目の要素 (値2)など。 length() コードは配列の長さを定義します。

コマンド ライン パラメータの受け渡し

NetBeans では、アプリケーションを構築してターミナル ウィンドウから実行しなくても、コマンド ライン パラメータを渡すことができます。コマンド ライン パラメーターを指定するには:

[プロジェクト] ウィンドウで [プロジェクト] フォルダーを右クリックします。

[プロパティ] オプションを選択して、プロジェクトのプロパティ ウィンドウを開きます。

右側のカテゴリリストで、実行を選択します。

表示される [引数] テキスト ボックスで、アプリケーションに渡すコマンド ライン パラメーターを指定します。たとえば、[引数] テキスト ボックスに「Apple Banana キャロット」と入力し、上記の CommandLineArgs プログラムを実行すると、次の出力が得られます。

#
Apple
Banana
Carrot
ログイン後にコピー

コマンド ライン引数の解析

# 通常、渡された値をどう処理するかに関する情報を含むコマンド ライン引数が渡されます。アプリケーションにパラメータを通知するパラメータには、通常、名前の前に 1 つまたは 2 つのハイフンが付いています。たとえば、JDK パスの起動パラメータを指定する NetBeans の例は -jdkhome です。

これは、値をどう扱うかを決定するためにコマンド ライン引数を解析する必要があることを意味します。コマンドライン引数を解析するための Java コマンドライン フレームワークがいくつかあります。あるいは、渡す引数がそれほど多くない場合は、単純なコマンド ライン パーサーを作成することもできます。

public class CommandLineArgs {
//命令行参数:
// -打印输出输出它后面的所有参数
//addnumbers在后面添加所有的数字参数
public static void main(String[] args) {
//检查字符串数组是否为空
if (args.length == 0)
{
System.out.println("There were no commandline arguments passed!");
}
else
{
  // 设置一些初始变量
boolean printout = false;
boolean addNumbers = false;
boolean validNumbers = true;
int total = 0;
for(String argument: args)
{
if(argument.equals("-addnumbers"))
{
printout = false;
addNumbers = true;
}
else if (argument.equals("-printout"))
{
printout = true;
addNumbers = false;
}
else if (addNumbers)
{
try {
total = total + Integer.parseInt(argument);
} catch (NumberFormatException e) {
System.out.println("arguments passed with -addnumbers " + "must be integers!");
validNumbers = false;
addNumbers = false;
}
}
else if (printout)
{
System.out.println(argument);
}
}
if (validNumbers)
{
System.out.println("The total of the number arguments is: " + total);
}
}
}
}
ログイン後にコピー

上記のコードは、引数を出力するか、引数を追加します (引数が整数の場合)。たとえば、次のコマンド ライン引数は数値を追加します:

java CommandLineArgs -addnumbers 11 22 33 44
ログイン後にコピー

以上がJavaでコマンドラインパラメータを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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