CommandLineParser Interface এর মাধ্যমে Argument Parsing

Command Line Parsing - অ্যাপাচি কমন্স সিআলআই (Apache Commons CLI) - Java Technologies

243

Apache Commons CLI লাইব্রেরি কমান্ড লাইন আর্গুমেন্ট প্রোসেসিং সহজ করে তোলে। CommandLineParser ইন্টারফেসটি কমান্ড লাইন আর্গুমেন্টগুলোকে একটি নির্দিষ্ট কাঠামোতে পার্স করতে ব্যবহৃত হয়। এটি আপনাকে কমান্ড লাইন আর্গুমেন্টের মধ্যে বিভিন্ন options এবং arguments সঠিকভাবে প্রক্রিয়া করতে সাহায্য করে।

এখানে, আমরা CommandLineParser ইন্টারফেসের মাধ্যমে কমান্ড লাইন আর্গুমেন্ট পার্স করার পদ্ধতি দেখব।


CommandLineParser Interface কী?

CommandLineParser ইন্টারফেসটি Apache Commons CLI লাইব্রেরির একটি অংশ, যা আর্গুমেন্ট পার্সিংয়ের জন্য ব্যবহৃত হয়। এটি কমান্ড লাইন আর্গুমেন্টগুলিকে Options অবজেক্টে রূপান্তর করে, যাতে আমরা সহজে সেগুলিকে অ্যাক্সেস এবং ব্যবহার করতে পারি।

এই ইন্টারফেসের দুটি গুরুত্বপূর্ণ ইমপ্লিমেন্টেশন হল:

  • DefaultParser: এটি একটি সাধারণ পার্সার যা সবচেয়ে বেশি ব্যবহৃত হয়।
  • GnuParser: এটি GNU-style অপশন (যেমন, --option=value) সমর্থন করে।

CommandLineParser Interface এর মাধ্যমে Argument Parsing

এই অংশে আমরা DefaultParser ব্যবহার করে একটি কমান্ড লাইন অ্যাপ্লিকেশনে আর্গুমেন্ট পার্স করব।

ধাপ 1: Apache Commons CLI লাইব্রেরি অন্তর্ভুক্ত করা

প্রথমে, Maven ব্যবহার করে আপনার প্রোজেক্টে Apache Commons CLI লাইব্রেরি অন্তর্ভুক্ত করতে হবে। আপনার pom.xml ফাইলে নিচের ডিপেনডেন্সি যোগ করুন:

<dependencies>
    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-cli</artifactId>
        <version>1.4</version>
    </dependency>
</dependencies>

ধাপ 2: CommandLineParser Interface ব্যবহার করে Argument Parsing উদাহরণ

import org.apache.commons.cli.*;

public class CommandLineParserExample {

    public static void main(String[] args) {
        // Option তৈরি করা
        Options options = new Options();

        // 'input' অপশন তৈরি করা
        Option input = new Option("i", "input", true, "Input file");
        input.setRequired(true);  // এটি একটি Required অপশন
        options.addOption(input);

        // 'output' অপশন তৈরি করা
        Option output = new Option("o", "output", true, "Output file");
        output.setRequired(false);  // এটি একটি Optional অপশন
        options.addOption(output);

        // CommandLineParser তৈরি করা (DefaultParser)
        CommandLineParser parser = new DefaultParser();
        CommandLine cmd = null;

        try {
            // আর্গুমেন্ট পার্স করা
            cmd = parser.parse(options, args);

            // 'input' অপশন চেক করা
            if (cmd.hasOption("input")) {
                System.out.println("Input file: " + cmd.getOptionValue("input"));
            }

            // 'output' অপশন চেক করা
            if (cmd.hasOption("output")) {
                System.out.println("Output file: " + cmd.getOptionValue("output"));
            }

        } catch (ParseException e) {
            // যদি কোনো ভুল আর্গুমেন্ট দেওয়া হয়, তাহলে HelpFormatter ব্যবহার করা
            HelpFormatter formatter = new HelpFormatter();
            formatter.printHelp("CommandLineParserExample", options);
        }
    }
}

ব্যাখ্যা:

  1. Options: এখানে আমরা দুটি অপশন তৈরি করেছি: input (যা অবশ্যই দিতে হবে) এবং output (যা Optional)।
  2. CommandLineParser: DefaultParser ইমপ্লিমেন্টেশন ব্যবহার করে আর্গুমেন্টগুলো পার্স করা হচ্ছে।
  3. CommandLine: এটি আর্গুমেন্টগুলো ধারণ করবে এবং getOptionValue() মেথডের মাধ্যমে আমরা তাদের মান বের করব।
  4. HelpFormatter: যদি ব্যবহারকারী ভুল আর্গুমেন্ট দেয়, তাহলে এই ক্লাসের মাধ্যমে সাহায্য দেখানো হবে।

ধাপ 3: কমান্ড লাইন আর্গুমেন্টের সাথে রান করা

ধরা যাক, এই প্রোগ্রামটি CommandLineParserExample নামে সংরক্ষিত রয়েছে। আপনি যদি কমান্ড লাইন থেকে এটি রান করেন:

java CommandLineParserExample -i input.txt -o output.txt

আউটপুট:

Input file: input.txt
Output file: output.txt

যদি আপনি -i অপশনটি বাদ দেন, তাহলে HelpFormatter সাহায্য প্রদর্শন করবে:

java CommandLineParserExample -o output.txt

আউটপুট:

Usage: CommandLineParserExample
 -i,--input <arg>   Input file
 -o,--output <arg>  Output file

CommandLineParser এর অন্যান্য ইমপ্লিমেন্টেশন

GnuParser: যদি আপনি GNU-style অপশন পছন্দ করেন, যেমন --input=input.txt, তাহলে আপনি GnuParser ব্যবহার করতে পারেন।

CommandLineParser parser = new GnuParser();

এটি --option=value স্টাইলে আর্গুমেন্ট গ্রহণ করবে।


সারাংশ

CommandLineParser ইন্টারফেস ব্যবহার করে কমান্ড লাইন আর্গুমেন্ট পার্স করা একটি সহজ এবং কার্যকরী প্রক্রিয়া। আপনি DefaultParser ব্যবহার করে সাধারণ আর্গুমেন্ট পার্সিং করতে পারেন এবং GnuParser ব্যবহার করে GNU-style অপশন সমর্থন করতে পারেন। Options এবং CommandLine অবজেক্টের মাধ্যমে আপনি আর্গুমেন্টগুলির মান সংগ্রহ এবং যাচাই করতে পারবেন।


Content added By
Promotion

Are you sure to start over?

Loading...