方式1
最Naive的实现,即按照参数的输入顺序进行依次解析,例如:
private void parseArguments(String[] args)
{
dbIP = args[0];
dbName = args[1];
threadNo = Integer.parseInt(args[2]);
timeout = Integer.parseInt(args[3]);
}
这种方式比较简单直接,对于许多后台任务类程序的参数配置,如果参数数量不是很多,可以作为首先解决方案。
方式2
已经是一种比较Comprehensive的解决方案,已经可以满足绝大多数use case,提供友好的用户界面。
这种方式要求用户用以下参数来配置程序的命令行参数:
<YOUR COMMAND> -arg1Name arg1Value -arg2Name arg2Value -arg3Name argsValue ...
这种命令行参数的解析可以用以下方法:
for(int i = 0; i < args.length; i++)
{
if(args[i].equals("-arg1Name"))
{
prepareArg1(args[++i]);
}
else if(args[i].equals("-arg2Name"))
{
prepareArg1(args[++i]);
}
else if(args[i].equals("-arg3Name"))
{
prepareArg1(args[++i]);
}
... ...
else
{
printError();
printUsage();
}
}
分享到:
相关推荐
这个模块可以帮助脚本解析命令行参数,一般是sys.argv[1:]。它遵循着Unix的getopt()函数相同的约定(用-/–指定命令参数)。这个模块提供两个函数(getopt.getopt()/getopt.gnu_getopt())和一个参数异常(getopt....
配置参数分开还是集中管理没有严格的约束,关键要看项目里的统一规范,只是,gflags 可以支持这两种方式,允许用户更加灵活的使用。 当将参数分布到各个源码文件中时,如果定义了相同的参数,那么在编译的时候会直接...
写服务程序时,如果需要提供命令行参数。传统的方法是手工解析argv参数,或者使用getopt函数。两种方法都比较费劲。使用Google gflags可以大大简化命令行参数处理。
CommandLineUtils 该项目可帮助您使用.NET创建命令行应用程序。 它简化了在命令行上提供的参数解析,验证用户输入以及生成... 使用此API的主要方法有两种,即使用构建器模式和属性。属性API using System ;using McMas
狗狗 :dog_face: 人类的命令行DNS客户端 ... 支持ndot和来自resolv.conf或命令行参数的搜索配置。 一次支持多个解析器。 支持IPv4和IPv6两种。 安装 二进位 您可以从“部分获取适用于Linux,MacOS和Windows的最新二
word2vec_commented 此项目是Google已发布的的的功能不变的版本,但其中包含源注释。 如果您不熟悉word2vec,建议 先阅读本 。 我的重点是在word2vec.c中用于培训的代码: 我用否定采样评论了skip-... 解析命令行参数
运行器则主要为集合生成测试结果,支持界面和命令行两种方式。 此外,Postman还提供了多种常用类型的接口请求和响应数据的解析功能,以及批量执行接口请求、日志调试、断言、变量等众多功能,帮助我们更好地进行...
这些参数一般情况来说,可以有两种设置方法,一种是通过命令行参数,一种是通过环境变量。二者的适用范围不同,在不同的场景下我们可以选用更方便的方式来实现参数的设置。 本节我们以 Python 项目为例,说说环境...
运行器则主要为集合生成测试结果,支持界面和命令行两种方式。 此外,Postman还提供了多种常用类型的接口请求和响应数据的解析功能,以及批量执行接口请求、日志调试、断言、变量等众多功能,帮助我们更好地进行...
查看两种处理控制台应用程序的命令行参数的方法手动解析system.commandline.dragonfruit
它可以通过两种方式之一运行:命令行方式和交互方式。 如果检测到任何参数,它将以命令行方式运行,将所有参数视为计算器。 可以像使用任何其他命令一样通过管道传输此输出。 $ eval-test 1 + 2 3 $ eva
有两种使用库的方法:使用预定义的 npm 脚本(部署、解析)或使用 node.js 执行 lib/main.js 并传递参数。 如果使用第一种方式,库将在脚本执行之前编译,但如果您更喜欢第二种方式,则必须编译库: 使用预定义的...
静态链接器以一组可重定位目标文件和命令行参数作为输入,生成一个完全链接的可以加载和运行的可执行目标文件作为输出. 静态链接器主要完成两个任务: 1>符号解析:目标文件定义和引用符号.符号解析的目的在于将...
getopt-从命令行参数解析选项。 素数-计算前200个素数。 missing_numbers-在两个文件中查找丢失的号码。 revbits-二进制数字的反向位。 revstring-反转字符串。 sort-对文件中的行进行排序。 strcomb-生成“字符串”...
它可以在两种模式下运行: output和lines (默认)。 在output模式下,它希望看到整个GDB / MI事务,从0或更多位的调试输出开始,然后是结果,然后在(gdb)提示符下以尾随换行符回退。 JSON格式的版本将被写入stdout...
新的遗物实体CMDB CI同步 该项目提供了一套有用的机制,可将New Relic中的Entity标签与实体元数据的其他来源进行同步。...服务的配置仅限于命令行参数和全面的配置文件。 两种来源的选项概述如下。 配置文件格式
X-scan 安全焦点出品的国内很优秀的扫描工具,采用多线程方式对指定IP地址段(或单机)进行安全漏洞检测,支持插件功能,提供了图形界面和命令行两种操作方式。 流光 国人的骄傲,由高级程序员小榕编写的一款强悍的...
使用它来生成两种类型的图之一: 1. 绘制不同光纤长度(在单个波长下)的增益与泵浦功率的关系图2. 绘制不同泵浦功率(一根或多根光纤长度)的增益与波长的关系图 还可用于计算激光器的单程增益,从而预测激光所需...
<br> Windows 进度条仅有两种颜色, 所以他们不能指示当前的压缩率。但是现在压缩 率显示在一个单独的行中; <br> e) "模式..." 按钮移到窗口的底部。 <br> 5. GUI 自解压模块支持下列命令开关: <br>...