首頁 > Java > java教程 > 如何高效解析Java中的命令列參數?

如何高效解析Java中的命令列參數?

Susan Sarandon
發布: 2024-12-30 13:12:10
原創
470 人瀏覽過

How Can I Efficiently Parse Command Line Arguments in Java?

解析Java 中的命令列參數

處理命令列參數時,高效且有效地解析它們對於開發健壯的Java 應用程式至關重要。有許多方法可以實現此目的:

第三方函式庫:

  • Apache Commons CLI:用於解析指令的綜合庫行、處理標誌和驗證參數。
  • JSAP (Java簡單參數解析器):一個使用者友善且功能強大的函式庫,用於解析複雜的命令列。

DIY解析:

  • java.util.Scanner: 雖然Scanner 不是專門為解析命令列參數而設計的,可用於此目的。

用法範例:

考慮使用Apache Commons CLI 解析兩個字串參數:

import org.apache.commons.cli.*;

public class Main {

    public static void main(String[] args) throws Exception {

        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);

        CommandLineParser parser = new DefaultParser();
        HelpFormatter formatter = new HelpFormatter();
        CommandLine cmd = null;

        try {
            cmd = parser.parse(options, args);
        } catch (ParseException e) {
            System.out.println(e.getMessage());
            formatter.printHelp("utility-name", options);
            System.exit(1);
        }

        String inputFilePath = cmd.getOptionValue("input");
        String outputFilePath = cmd.getOptionValue("output");

        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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板