编写处理命令行参数的代码并不是一件很令人兴奋的事,但是有时候依然有必要这样做。在下次需要分析命令行参数并且事情有点复杂的时候,可不要忘了可信赖的开放源代码 Java 工具箱,并使用命令行接口(CLI,Command Line Interface)。
Jakarta Commons 负责 CLI 项目。虽然说如果只有一两个参数使用它就显得大材小用,但是如果你的应用程序从命令行接受很多设置参数的话,它就是很必要的。
要使用 CLI,你需要创建 Options 类的一个实例:
Options opt = new Options();
使用 Options 的这个实例可以定义应用程序接受的命令行参数。定义命令行参数的一个方法是使用 Options 类的addOption() 方法。对应用程序可接受的每个选项调用一次这个方法。
opt.addOption("h", false, "Print help for this application");
opt.addOption("u", true, "The username
to use");
opt.addOption("dsn",
true, "The data source to use");
在定义好类的参数之后,创建一个CommandLineParser,然后解析传递给 main 方法的 String 数组。
BasicParser parser = new BasicParser();
CommandLinecl = parser.parse(opt, args);
现在所有的参数都已被解析,你就可以分析由解析器返回的CommandLine实例来确定用户提供的参数和值了。
if ( cl.hasOption('h')
) {
HelpFormatter f = new HelpFormatter();
f.printHelp("OptionsTip", opt);
}
else {
System.out.println(cl.getOptionValue("u"));
System.out.println(cl.getOptionValue("dsn"));
}