3

Java cli コマンドラインパーサーを使用して次の引数を解析しようとしています。

java -OC:\mydirectory -NMyfile

オプション -O はディレクトリ用で、-N はファイル名用です。

私はオンラインで探していましたが、良い例を見つけることができませんでした.これが私がやろうとしていることです.

Option option = new Option()
option.addOpton("O",true, "output directory)
option.addOpton("N",true, "file name)
...
CommandLineParser parser = new BasicParser();
...
if (cmd.hasOption("O")
...

基本的に、複数のオプションを追加して解析できるようにしようとしています。上記のオプションを使用してプログラムを実行するのは正しい方法ですか?

ありがとう。

4

1 に答える 1

1

次のことを試してください。

...
Option opt1 = OptionBuilder.hasArgs(1).withArgName("output directory")
    .withDescription("This is the output directory").isRequired(true)
    .withLongOpt("output").create("O");

Option opt2 = OptionBuilder.hasArgs(1).withArgName("file name")
    .withDescription("This is the file name").isRequired(true)
    .withLongOpt("name").create("N")

Options o = new Options();
o.addOption(opt1);
o.addOption(opt2);
CommandLineParser parser = new BasicParser();

try {
  CommandLine line = parser.parse(o, args); // args are the arguments passed to the  the application via the main method
  if (line.hasOption("output") {
     //do something
  } else if(line.hasOption("name") {
     // do something else
  }
} catch(Exception e) {
  e.printStackTrace();
}
...

また、コマンド ラインでは、引数と値の間に空白を残す必要があります。

于 2012-07-28T20:30:57.797 に答える