java - 如何在 Commons cli 中获取没有选项名称的控制台应用程序参数?

标签 java console-application apache-commons-cli

这是我的控制台输入:

java TCPPing –p –端口 9900 –mps 30 –大小 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

最佳答案

查看 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--以获得完整的描述。

关于java - 如何在 Commons cli 中获取没有选项名称的控制台应用程序参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38243906/

相关文章:

java - 确定java中InputStream中下一个读取的类型

c# - .net 应用程序在通过计划任务触发时失败

c# - 在控制台应用程序中托管的 WCF 服务

Java Apache CLI 可选命令行参数不起作用

java - 如何使用 apache commons cli 指定多个选项?

java - 如果多次匹配,有没有办法捕获每个组?

java - 如何使用 RecyclerView 显示空 View ?

java - 字符串到 JComboBox 的转换

c# - 如何使用键连接将值插入 SQL 字段

java - Commons CLI 中的 DefaultParser 的行为与已弃用的解析器不同