如何在命令行工具中实现实用功能
How to implement utility feature in a command line tool
我在 java 中通过名称转换器开发了一个命令行工具,我 运行 通过创建一个 jar 文件并使用下面的命令来 运行 这个工具
java -jar translator.jar < input1 >
现在我被要求为这个工具添加一个使用/实用功能,例如当我们在命令行上键入 java 时它显示
用法:java [-options] class [args..]
……等
我想为我的工具实现类似的功能。我不知道从哪里开始,因为这是我第一次构建命令行工具。
您可以检查通过 main 方法传递的参数
这样一来,如果有任何内容并且是您所期望的,您将打印有关使用情况的适当消息。
public static void main(String args[]){
if(args.length > 0){
//-----take appropraite action ----
//----- if the value of the parameter is 'usage' --
//-----print usage into e.t.c---
}
//---- other codes--
}
如果您不想自己处理参数,
你可以使用 CLI library from the apache commons project.
对于非常小的项目,这通常没有意义,
但是当你有越来越多的选择时,使用起来就很简单了。
代码流程是这样的example:
public static void main(String args[]){
// create Options object
Options options = new Options();
// add t option
options.addOption("t", false, "display current time");
CommandLineParser parser = new DefaultParser();
CommandLine cmd = parser.parse( options, args);
if(cmd.hasOption("t")) {
// print the date and time
}
else {
// print the date
}
}
我在 java 中通过名称转换器开发了一个命令行工具,我 运行 通过创建一个 jar 文件并使用下面的命令来 运行 这个工具
java -jar translator.jar < input1 >
现在我被要求为这个工具添加一个使用/实用功能,例如当我们在命令行上键入 java 时它显示
用法:java [-options] class [args..]
……等 我想为我的工具实现类似的功能。我不知道从哪里开始,因为这是我第一次构建命令行工具。
您可以检查通过 main 方法传递的参数
这样一来,如果有任何内容并且是您所期望的,您将打印有关使用情况的适当消息。
public static void main(String args[]){
if(args.length > 0){
//-----take appropraite action ----
//----- if the value of the parameter is 'usage' --
//-----print usage into e.t.c---
}
//---- other codes--
}
如果您不想自己处理参数, 你可以使用 CLI library from the apache commons project.
对于非常小的项目,这通常没有意义, 但是当你有越来越多的选择时,使用起来就很简单了。
代码流程是这样的example:
public static void main(String args[]){
// create Options object
Options options = new Options();
// add t option
options.addOption("t", false, "display current time");
CommandLineParser parser = new DefaultParser();
CommandLine cmd = parser.parse( options, args);
if(cmd.hasOption("t")) {
// print the date and time
}
else {
// print the date
}
}