Apache Commons 中的CLI库提供了解析命令行选项的API。同样也可以帮你打印出标准的帮助信息。
在*nix系统中使用命令行,经常会需要加参数进行不同的操作,Apache Commons提供的这个库可以帮你实现这样的功能。
#介绍
项目官方地址
下载地址
#使用
直接代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.CommandLineParser; import org.apache.commons.cli.DefaultParser; import org.apache.commons.cli.HelpFormatter; import org.apache.commons.cli.Options; import org.apache.commons.cli.ParseException;
public class CliTest {
public static void main(String[] args) { Options options = new Options();
options.addOption("t", false, "display current time"); options.addOption("c", true, "country code");
HelpFormatter formatter = new HelpFormatter(); formatter.printHelp("help", options);
CommandLineParser parser = new DefaultParser(); try { CommandLine cmd = parser.parse(options, args); if (cmd.hasOption("t")){ System.out.println("Yes"); } else { System.out.println("No"); }
String countryCode = cmd.getOptionValue("c"); if (countryCode == null) { System.out.println("no code"); } else { System.out.println("code:" + countryCode); } } catch (ParseException e) { e.printStackTrace(); System.exit(-1); }
}
}
|
加参数**-t -c cn**执行得到的结果:
1 2 3 4 5 6
| usage: help -c <arg> country code -t display current time Yes code:cn
|