HOWTO · Java
Java 中的命令行解析
本文介绍 Java 中的命令行解析
本页内容
本文介绍如何在 java 中执行命令行解析。
Java 中的命令行解析
有时,要执行 Java 程序,我们需要在运行程序之前进行一些基本输入。通常,这些输入由命令行参数提供。在 Java 中,命令行参数保存在 main() 函数内的 String[] args 中。
为了从终端/命令提示符接受参数,我们需要在 Java 程序中定义选项。你传递的每个命令行参数都需要存储在选项中。在下面的代码示例中,创建的两个选项涉及复制和粘贴现象。请看说明。
import org.apache.commons.cli.*;
public class Main {
public static void main(String[] args) throws Exception {
Options options = new Options(); // Options Arguments which are Acceptable By Program.
Option source = new Option("s", "source", true, "source file path");
source.setRequired(true);
options.addOption(source);
Option destination = new Option("d", "Destination", true, "Destination file Path");
destination.setRequired(true);
options.addOption(destination);
CommandLineParser parser = new BasicParser();
// use to read Command Line Arguments
HelpFormatter formatter = new HelpFormatter(); // // Use to Format
CommandLine cmd = null;
try {
cmd = parser.parse(
options, args); // it will parse according to the options and parse option value
} catch (ParseException e) {
System.out.println(e.getMessage());
formatter.printHelp("utility-name", options);
System.exit(1);
}
String argument1 = cmd.getOptionValue("source");
String argument2 = cmd.getOptionValue("Destination");
System.out.println(argument1);
System.out.println(argument2);
}
}
在上面的程序中创建了两个选项。一个是源头,一个是目的地。在创建 source 选项时,我们将其短期参数指定为 s 并将其命名为 source。s 是获取源参数值的命令。运行程序时,用户必须使用 -s 作为命令,后跟其值。请参阅下面的输出。我们还将要求设置为 true 并将描述作为源文件路径。后来我们在选项中添加了这个源选项参数。同样,对于选项 destination,我们执行了具有不同值的相同操作。
在解析这两个选项时,我们创建了一个 CommandLineParser 对象。在 HelpFormatter 的帮助下,如果需要显示异常,我们可以格式化命令参数。
在 try...catch 方法中,使用 parse() 来解析参数 options 和 args。然后我们简单地使用 getOptionValue() 获取选项的值并在括号内传递选项的名称。
我们只是打印值。另一方面,你可以使用这种方法运行不同的程序。
要运行该程序,我们必须使用以下命令。
javac
- cp 'org.apache.commons.cli-1.2.0.jar' Main.java
java
- cp 'org.apache.commons.cli-1.2.0.jar' Main.java - s 'D://textfile.txt'
- d 'D://DuplicatFolder//'
这里,-s 和 -d 是命令。它们后面分别是它们的值。例如,在上面的程序中,我们将为 s 放置源路径,为 d 放置目标路径。
上面的程序将给出以下输出。
D : // textfile.txt
D: // DuplicatFolder//