[color=blue][size=xx-large]方式1[/size][/color]
最Naive的实现,即按照参数的输入顺序进行依次解析,例如:
这种方式比较简单直接,对于许多后台任务类程序的参数配置,如果参数数量不是很多,可以作为首先解决方案。
[color=blue][size=xx-large]方式2[/size][/color]
已经是一种比较Comprehensive的解决方案,已经可以满足绝大多数use case,提供友好的用户界面。
这种方式要求用户用以下参数来配置程序的命令行参数:
这种命令行参数的解析可以用以下方法:
最Naive的实现,即按照参数的输入顺序进行依次解析,例如:
private void parseArguments(String[] args)
{
dbIP = args[0];
dbName = args[1];
threadNo = Integer.parseInt(args[2]);
timeout = Integer.parseInt(args[3]);
}
这种方式比较简单直接,对于许多后台任务类程序的参数配置,如果参数数量不是很多,可以作为首先解决方案。
[color=blue][size=xx-large]方式2[/size][/color]
已经是一种比较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();
}
}