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