如何在Commons cli中获取没有选项名称的console-app参数?

时间:2016-07-07 11:06:23

标签: java console-application apache-commons-cli

这是我的控制台输入:

java TCPPing -p -port 9900 -mps 30 -size 1000 pcB

pcB是没有名字的选项的参数。

如何获得没有选项的pcB参数?

小代码部分:

Options options = new Options();
options.addOption("", "hostname", true, "Hostname"); //no option name
options.addOption("port", "port", true, "TCP socket used for connection");

CommandLineParser parser = new DefaultParser();
CommandLine commandLine = parser.parse(options, args);

Integer port = Integer.parseInt(cmd.getOptionValue("port")); //works fine
String hostname = cmd.getOptionValue("hostname"); //doesn't work

1 个答案:

答案 0 :(得分:0)

查看CommandLine.getArgList()CommandLine.getArgs()。他们应该做你想要的,即他们返回任何"剩余的"未被解析为其他选项的参数。

List<String> args = cmd.getArgList();

有关完整说明,请参阅https://commons.apache.org/proper/commons-cli/javadocs/api-release/org/apache/commons/cli/CommandLine.html#getArgList--