Java 解析正在运行的应用程序中输入的字符串命令行参数

Java 解析正在运行的应用程序中输入的字符串命令行参数,java,string,parsing,parameters,external,Java,String,Parsing,Parameters,External,我正在用java开发一个小的学生项目,我遇到了一个问题。 首先,我想向大家展示一下这个想法: 我们在命令行中运行主应用程序,比如说ems: java -jar ems.jar ems: Hello, bla bla bla type help to see bla bla bla. 现在我想让用户输入带有参数的命令,就像这个例子一样 ems: help ems: list -h ems: program -h ems: program -create -n Ping -path "C:\\pi

我正在用java开发一个小的学生项目,我遇到了一个问题。 首先,我想向大家展示一下这个想法:

我们在命令行中运行主应用程序,比如说ems:

java -jar ems.jar
ems: Hello, bla bla bla type help to see bla bla bla.
现在我想让用户输入带有参数的命令,就像这个例子一样

ems: help
ems: list -h
ems: program -h
ems: program -create -n Ping -path "C:\\ping.exe" //-create to add new program record  to DB
ems: program -delete -n Ping  //-delete from DB
ems: list -create -n ListForPinging //-creating new list in DB
ems: list -add -n ListForPinging  -p Ping -host stackoverflow.com -t //-add linking program with list
这将导致使用一些参数执行不同的方法,修改数据库中的记录,并将这些参数插入数据库以供以后使用。执行此列表后,它将启动C:\\ping.exe-host stackoverflow.com-t

问题是:我走的是正确的道路吗?如何解析/处理这些参数?我应该和你一起去吗?有什么建议吗

提前谢谢

编辑:
我从regexp.split开始;但它不可伸缩。还发现了一些工具,如args4j,但无法使其工作。我发现的一切都是在主程序的参数上工作,而不是在内部。或者我做错了?不,不是作业。提高编程水平是我自己的任务。

解决了。使用HashMap存储param+name,并使用.split对其进行解析。

您还有Apache Commons CLI,它为您解析和使用命令行参数提供了非常好的API

请参阅此处的更多详细信息:


希望这能有所帮助。

到目前为止你都尝试了什么?!听起来像是家庭作业的问题。你试过什么?我从regexp开始,.split;但它不可伸缩。还发现了一些工具,如args4j,但无法使其工作。我发现的一切都是在主程序的参数上工作,而不是在内部。或者我做错了?不,不是作业。“我自己的任务就是更好地编程。”@Szczepanov当我们说“家庭作业问题”时,我们指的不是老师布置并要求你们做的事情。这意味着听起来你在要求我们为你工作。