2

私は次のコードを持っています:

public static void main(String [] args) throws ParseException{

    Options options = new Options();
    options.addOption("g", "delimiter", false, "default delim is ,");

    CommandLineParser parser = new PosixParser();
    CommandLine cmd = parser.parse(options, args);
    String input = cmd.getOptionValue("g");
    System.out.println(input);

}

私のランタイム設定には、これらの引数があります

-g @

私が期待しているのは"@"、出力はnull?

私は何が欠けていますか?ありがとう

4

1 に答える 1

1

オプションには引数が必要なので、gオプションの 3 番目のパラメーターを から に変更するfalseと機能しtrueます。

options.addOption("g", "delimiter", true, "default delim is ,");

コマンドラインで渡される場合、オプションには引数が必要なので、からfalseに変更しました。それはうまくいきます。trueg

これは彼らのJavaドキュメントからのものです

addOption メソッドには 3 つのパラメーターがあります。最初のパラメーターは、オプションを表す java.lang.String です。2 番目のパラメーターは、オプションが引数を必要とするかどうかを指定するブール値です。ブール値オプション (フラグと呼ばれることもあります) の場合、引数値が存在しないため、false が渡されます。3 番目のパラメーターは、オプションの説明です。この説明は、アプリケーションの使用法テキストで使用されます。

于 2013-09-11T22:29:45.300 に答える