解析命令行参数的两种方式

方式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();
	}
}


你可能感兴趣的:(命令行)