如何处理java命令行参数?

如何处理java命令行参数?,java,arguments,command-line-arguments,Java,Arguments,Command Line Arguments,我正在用java编写一个工具,它需要通过args[]传递一些输入 我知道如何使用参数,但我希望更好地处理这个输入 这是我代码的一部分: if (args.length > 0 ) { switch (args[0]) { case "scan": blah blah break; case "some cases": some code break; 但是当然,arg被严格限制在它们的位置上,事实上,在命

我正在用java编写一个工具,它需要通过args[]传递一些输入 我知道如何使用参数,但我希望更好地处理这个输入

这是我代码的一部分:

if (args.length > 0 ) {

        switch (args[0]) {

        case "scan": blah blah
        break;
        case "some cases": some code
        break;
但是当然,arg被严格限制在它们的位置上,事实上,在命令行中,我必须调用:

java java程序arg1 arg2 arg3

我真的不喜欢这个

我想要的是更好地使用选项管理此参数,就像任何其他c编程工具一样,与位置无关:

例如:

java javaProgram-ip 127.0.0.1-database data.txt-vv-out output.txt

任何帮助都将不胜感激

戴夫


(我在考虑一个参数数组列表,可以是一个解决方案吗?

使用。

使用。

是的,但是有什么好的指南吗?非常有趣!我也从中得到了一些不错的结果,但它似乎已经过时了一个人库——也就是说,它确实有效,并且有点面向对象。如果CLI builder不适合您的需要,您可以使用它。CLI builder最酷的地方是“fluent api”语法。是的,但有什么好的指南吗?非常有趣!我也从中得到了一些不错的结果,但它似乎已经过时了一个人库——也就是说,它确实有效,并且有点面向对象。如果CLI builder不适合您的需要,您可以使用它。CLI builder最酷的地方是“fluent api”语法。