3

apache commons cli を使用しようとしていますが、私のユースケースは、いくつかのオプションを持つ可変数の引数です。

言う

 -p str1 str2;

かもね

 -p str1 str2 str3 .. strn

もう一つは

 -m str1
 -h

 cmdline.getOptionValues("p");

最後の文字列のみを取得します。特定のオプションのすべての値を取得するにはどうすればよいですか?

編集:

if(cmdline.hasOption("p")){
 String[] argsList = cmdline.getOptionValues(p);
  String strLine = Arrays.toString(argsList);
  argsList = strLine.split(",");
 }

私はそれを正しくやっていますか?文字列は、私が望む正確なデータで構成されますか、それとも予期しない空白などで構成されますか?

4

2 に答える 2

4

hasArgs()カンマに設定された値区切り文字で使用すると、オプションは次のようになります。

-p str1,str2,str3,...,strn

これは、CLI で多値オプションが処理される方法です

于 2014-04-24T06:52:22.353 に答える