

POSIX 风格选项 (例如: tar -zxvf foo.tar.gz) GNU 风格选项 (例如: du --human-readable --max-depth=1) Java 风格属性 (例如: java -Djava.awt.headless=true -Djava.net.useSystemProxies=true Foo) 跟着参数值的短选项(例如: gcc -O2 foo.c) 包含连字符的长选项 (例如: ant -projecthelp)
一个使用的例子:
Options options = new Options();
options.addOption("i", "inter", true, "设定处理时间间隔(秒数)。");
options.addOption("l", "lines", true, "设定每次处理行数。");
options.addOption("h", "help", false, "显示帮助信息。");
//直接增加方式,参数1为短选项,2为长选项,3为是否选项后有参数,如-i 2之类。4为注释,在HelpFormatter打印中有用。
CommandLineParser parser = new PosixParser(); //定义一个Posix风格处理器,当然还有其它风格的比如GNU
HelpFormatter formatter = new HelpFormatter();
try {
// parse the command line arguments
CommandLine line = parser.parse(options, args);
if (line.hasOption("help")) { //若输入有--help参数(或-h),则用HelpFormatter打印使用注释后退出。
formatter.printHelp("smssent", options);
System.exit(0);
}
if (line.hasOption("inter")) {
// initialise the member variable
String interStr = line.getOptionValue("inter");//读取的参数为字符串
if (isNumeric(interStr)) {
Inter = Integer.parseInt(interStr) * 1000;
if ((Inter < 10 * 1000) || (Inter > 60 * 1000)) {
System.err.println("Inter取值必须在10至60之间");
System.exit(1);
}
logger.info("参数inter=" + interStr);
} else {
System.err.println("Inter参数必须为数值。");
System.exit(1);
}
} else
logger.info("默认参数inter=" + String.valueOf(Inter));
此库功能较多,应该能满足目前所有需要。
原创文章,作者:苏葳,如需转载,请注明出处:https://www.swmemo.com/322.html
