我如何处理 java 命令行参数? [复制]

Posted

技术标签:

【中文标题】我如何处理 java 命令行参数? [复制]【英文标题】:How i can handle java command-line arguments? [duplicate] 【发布时间】:2012-11-24 01:03:58 【问题描述】:

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

这是我的代码的一部分:

if (args.length > 0 ) 

        switch (args[0]) 

        case "scan": blah blah
        break;
        case "some cases": some code
        break;

当然,args 严格限制在它们的位置上,实际上在命令行中我必须调用:

java javaProgram arg1 arg2 arg3

我真的不喜欢这个......

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

示例:

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

任何帮助将不胜感激!

戴夫

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

【问题讨论】:

【参考方案1】:

使用Apache Commons CLI Builder。

【讨论】:

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

以上是关于我如何处理 java 命令行参数? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如果我不想加载主窗体,如何处理 Winforms 中的命令行参数?

如何处理向量属性的向量? [复制]

如何处理循环中的每个输出行?

记住 *nix 命令行参数

[100 Tips About Shell] Shell中是如何处理换行符的

“不知道如何处理' nvcc 致命错误