gpt4 book ai didi

java - 如何在 Java 中读取和接受带有 name/id/title 的自定义 CLI 参数?

转载 作者:行者123 更新时间:2023-12-02 01:54:12 25 4
gpt4 key购买 nike

我想在运行 Java 程序时读取并接受自定义 CLI 参数值,如下所示:

java BookSales --books=/path/to/books.list 
--sales=/path/to/sales.list --top_selling_books=3
--top_customers=2 --sales_on_date=2018-02-01

程序必须接受以下参数,并能够在命令行上使用这些值,其中一些是必需的,一些是可选的。

--books=/path/to/books.list (required)
--sales=/path/to/sales.list (required)
--top_selling_books=<count> (optional)
--top_customers=<count> (optional)
--sales_on_date=<date> (optional)

我所做的如下所示:

String books_path = null;
String sales_path = null;
...
...
for(int i = 0; i<args.length; i++) {
if(args[i].toLowerCase().indexOf("--books=") != -1) {
books_path = args[i].split("=")[1];
}
if(args[i].toLowerCase().indexOf("--sales=") != -1) {
sales_path = args[i].split("=")[1];
}
...
...
}
System.out.println(books_path);
System.out.println(sales_path);

有没有更好的方法来仅使用标准 java 库和包来做到这一点?

最佳答案

Java 没有任何内置功能可以让您解析标准字符串操作之外的命令行参数。如果您不想使用 Apache Commons CLI 等库,那么您需要自己编写它。

自己编写它并不简单,而且可能会浪费时间。我建议您重新考虑,并为此使用一个库。

问题中的代码是一个很好的例子,说明了为什么人们不应该自己编写它:它非常脆弱,并且在显示的小代码片段中已经存在许多错误(请参阅 JB Nizet 的评论)。

关于java - 如何在 Java 中读取和接受带有 name/id/title 的自定义 CLI 参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52549486/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com