让我们创建一个基于控制台的示例应用程序,其目的是根据所使用的选项获取传递数字的总和或传递数字的乘法.
创建一个名为CLITester的java类.
CLITester.java
import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.CommandLineParser; import org.apache.commons.cli.DefaultParser; import org.apache.commons.cli.Options; import org.apache.commons.cli.ParseException; public class CLITester { public static void main(String[] args) throws ParseException { //***Definition Stage*** // create Options object Options options = new Options(); // add option "-a" options.addOption("a", false, "add numbers"); // add option "-m" options.addOption("m", false, "multiply numbers"); //***Parsing Stage*** //Create a parser CommandLineParser parser = new DefaultParser(); //parse the options passed as command line arguments CommandLine cmd = parser.parse( options, args); //***Interrogation Stage*** //hasOptions checks if option is present or not if(cmd.hasOption("a")) { System.out.println("Sum of the numbers: " + getSum(args)); } else if(cmd.hasOption("m")) { System.out.println("Multiplication of the numbers: " + getMultiplication(args)); } } public static int getSum(String[] args) { int sum = 0; for(int i = 1; i < args.length ; i++) { sum += Integer.parseInt(args[i]); } return sum; } public static int getMultiplication(String[] args) { int multiplication = 1; for(int i = 1; i < args.length ; i++) { multiplication *= Integer.parseInt(args[i]); } return multiplication; } }
在传递-a作为选项时运行文件数字来得到数字的总和.
java CLITester -a 1 2 3 4 5 Sum of the numbers: 15
运行文件时传递-m作为选项和数字,以得到数字乘以结果.
java CLITester -m 1 2 3 4 5 Multiplication of the numbers: 120