解析命令行参数的两种形式
解析命令行参数的两种方式
推荐: 比特森林,下载资源搜索引擎,只有你想不到,没有你下不到!
方式1
最Naive的实现,即按照参数的输入顺序进行依次解析,例如:
这种方式比较简单直接,对于许多后台任务类程序的参数配置,如果参数数量不是很多,可以作为首先解决方案。
方式2
已经是一种比较Comprehensive的解决方案,已经可以满足绝大多数use case,提供友好的用户界面。
这种方式要求用户用以下参数来配置程序的命令行参数:
这种命令行参数的解析可以用以下方法:
推荐: 比特森林,下载资源搜索引擎,只有你想不到,没有你下不到!
推荐: 比特森林,下载资源搜索引擎,只有你想不到,没有你下不到!
方式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(); } }
推荐: 比特森林,下载资源搜索引擎,只有你想不到,没有你下不到!