Java:如何从命令行读取选项,如-input或--h?

Java:如何从命令行读取选项,如-input或--h?,java,parsing,command-line,Java,Parsing,Command Line,搜索了一会儿。。。 我不想使用特殊的解析器,只想使用内置方法 问题是我想用一种简单的方式阅读选项,比如-I=something。 然后,在脚本中,我可以调用这些选项,比如args[I]等等 有办法吗? 谢谢 编辑:示例 命令行:java scriptname-write=test 脚本:System.out.printlnargs[write] 输出:test如果您想在调用java程序时将参数作为键值对传递,可以使用-D标志这样做 java -Demail=test@gmail.com -Dus

搜索了一会儿。。。 我不想使用特殊的解析器,只想使用内置方法

问题是我想用一种简单的方式阅读选项,比如-I=something。 然后,在脚本中,我可以调用这些选项,比如args[I]等等

有办法吗? 谢谢

编辑:示例

命令行:java scriptname-write=test

脚本:System.out.printlnargs[write]


输出:test

如果您想在调用java程序时将参数作为键值对传递,可以使用-D标志这样做

java -Demail=test@gmail.com -DuserName="John Watson" MainProgam
String email = System.getProperty("email");
String name = System.getProperty("userName");
如果值中有空格,请用双引号将其括起来。现在 您可以像这样在代码中以系统属性的形式访问这些值

java -Demail=test@gmail.com -DuserName="John Watson" MainProgam
String email = System.getProperty("email");
String name = System.getProperty("userName");

java命令中类名之后传递的所有参数都可以在main方法的args[]中访问,您只能通过索引而不是键值对来访问它们

String[]args不适合您?我不确定您在问什么。您是否可以添加使用这些选项的示例?如果是在java YourClass选项中,则它们会自动移动到args数组中,因此我不确定您要解决的问题。若要为问题添加更多详细信息,请使用您文章下方的选项。不,我只是想知道是否有一种易于使用的方法来读取这些参数。。。不是通过索引,我想从输入中得到一种字典,就像我说的,你的问题,并提供输入和预期结果的示例,最好解释为什么应该预期这样的结果。如果没有它,您的问题将变得非常不清楚,这将吸引更多的反对票,这可能导致问题禁令。很高兴为您提供帮助: