ホームページ > 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: コマンドを解析するための包括的なライブラリ行、フラグの処理、検証argument.
  • JSAP (Java Simple Argument Parser): 複雑なコマンドラインを解析するためのユーザーフレンドリーで強力なライブラリです。

DIY解析:

  • java.util.Scanner: コマンドライン引数の解析用に特別に設計されたものではありませんが、Scanner はこの目的に利用できます。

使用例:

検討してくださいApache Commons CLI を使用した 2 つの文字列引数の解析:

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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート