解析命令行参数是使用 Java 应用程序时的一项常见任务。存在多种方法可以有效地实现此目的。
如果您不想使用外部库,您可以使用以下命令滚动您自己的命令行参数解析器Java 的内置类。 java.util.Scanner 类允许您从命令行读取输入并将其解析为适当的数据类型。
import org.apache.commons.cli.*; public class Main { public static void main(String[] args) throws Exception { // Define command line options Options options = new Options(); Option input = new Option("i", "input", true, "input file path"); input.setRequired(true); options.addOption(input); Option output = new Option("o", "output", true, "output file"); output.setRequired(true); options.addOption(output); // Parse command line arguments CommandLineParser parser = new DefaultParser(); CommandLine cmd = null; // Bad practice, only for demonstration purposes try { cmd = parser.parse(options, args); } catch (ParseException e) { System.out.println(e.getMessage()); HelpFormatter formatter = new HelpFormatter(); formatter.printHelp("utility-name", options); System.exit(1); } // Retrieve parsed values String inputFilePath = cmd.getOptionValue("input"); String outputFilePath = cmd.getOptionValue("output"); // Use the parsed arguments System.out.println(inputFilePath); System.out.println(outputFilePath); } }
用法:
$ java -jar target/my-utility.jar -i asd Missing required option: o usage: utility-name -i,--input <arg> input file path -o,--output <arg> output file
以上是如何有效解析Java中的命令行参数?的详细内容。更多信息请关注PHP中文网其他相关文章!