Option এর সাথে Arguments যোগ করা

Command Line Option তৈরির পদ্ধতি - অ্যাপাচি কমন্স সিআলআই (Apache Commons CLI) - Java Technologies

274

Apache Commons CLI লাইব্রেরি কমান্ড লাইন আর্গুমেন্ট পার্সিংয়ের জন্য খুবই জনপ্রিয়। এটি কমান্ড লাইন আর্গুমেন্ট এবং অপশনগুলির সাথে যুক্ত তথ্য পরিচালনা করার জন্য একটি সহজ পদ্ধতি সরবরাহ করে। কমান্ড লাইন আর্গুমেন্টের সাথে Option এর মাধ্যমে যুক্ত আর্গুমেন্ট যোগ করা অত্যন্ত সহজ।

এখানে আমরা দেখবো কিভাবে Option এর সাথে আর্গুমেন্ট যুক্ত করা যায় এবং কীভাবে সেই আর্গুমেন্টকে প্রসেস করা হয়।


1. Option এর সাথে Arguments যোগ করা

Option হল কমান্ড লাইন আর্গুমেন্টের জন্য একটি নির্দিষ্ট অপশন বা পতাকা (flag)। প্রতিটি Option এর সাথে সাধারণত দুটি ব্যাপার থাকে:

  • মুল্য (Value) : যেটি অপশনের সাথে যুক্ত থাকে, যেমন নাম বা বয়স।
  • বৈশিষ্ট্য (Attributes) : অপশনের সাথে বিভিন্ন বৈশিষ্ট্য, যেমন required, hasArg ইত্যাদি।

1.1. Option তৈরি করা এবং আর্গুমেন্ট যোগ করা

আপনি যদি একটি অপশন তৈরি করতে চান যা আর্গুমেন্ট গ্রহণ করবে, তবে hasArg(true) মেথডটি ব্যবহার করতে হবে।

উদাহরণ: Option এর সাথে আর্গুমেন্ট যোগ করা

import org.apache.commons.cli.*;

public class CommandLineExample {

    public static void main(String[] args) {
        // Option এর জন্য একটি Options অবজেক্ট তৈরি করা
        Options options = new Options();

        // --name অপশন তৈরি করা, যা আর্গুমেন্ট গ্রহণ করবে (hasArg(true))
        options.addOption("n", "name", true, "Your name");

        // --age অপশন তৈরি করা, যা আর্গুমেন্ট গ্রহণ করবে (hasArg(true))
        options.addOption("a", "age", true, "Your age");

        // --help অপশন তৈরি করা, যা আর্গুমেন্ট গ্রহণ করবে না (hasArg(false))
        options.addOption("h", "help", false, "Show help");

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

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

            // --help অপশন চেক করা
            if (cmd.hasOption("h")) {
                HelpFormatter formatter = new HelpFormatter();
                formatter.printHelp("CommandLineExample", options);
                System.exit(0);
            }

            // --name অপশনের আর্গুমেন্ট প্রিন্ট করা
            if (cmd.hasOption("n")) {
                String name = cmd.getOptionValue("n");
                System.out.println("Hello, " + name + "!");
            }

            // --age অপশনের আর্গুমেন্ট প্রিন্ট করা
            if (cmd.hasOption("a")) {
                String age = cmd.getOptionValue("a");
                System.out.println("Your age is " + age);
            }

        } catch (ParseException e) {
            System.out.println("Parsing failed. Reason: " + e.getMessage());
            HelpFormatter formatter = new HelpFormatter();
            formatter.printHelp("CommandLineExample", options);
        }
    }
}

ব্যাখ্যা:

  • Options: এটি কমান্ড লাইন আর্গুমেন্টের অপশনগুলির জন্য ব্যবহৃত হয়। এখানে --name, --age এবং --help অপশনগুলো তৈরি করা হয়েছে।
    • hasArg(true): এটি নির্দেশ করে যে অপশনটি একটি আর্গুমেন্ট গ্রহণ করবে।
    • hasArg(false): এটি নির্দেশ করে যে অপশনটি কোনো আর্গুমেন্ট গ্রহণ করবে না (যেমন --help অপশনটি)।
  • CommandLineParser: এটি কমান্ড লাইন আর্গুমেন্ট পার্স করার জন্য ব্যবহৃত হয়। এখানে আমরা DefaultParser ব্যবহার করেছি।
  • cmd.getOptionValue(): এটি অপশনের সাথে যুক্ত আর্গুমেন্টের মান বের করার জন্য ব্যবহৃত হয়।

2. কমান্ড লাইন আর্গুমেন্ট ব্যবহার

এই কোডটি চালানোর সময় আপনি কমান্ড লাইন থেকে আর্গুমেন্ট পাঠাতে পারবেন। এখানে কয়েকটি উদাহরণ দেওয়া হলো:

উদাহরণ 1: নাম এবং বয়স সহ

java CommandLineExample -n John -a 25

আউটপুট:

Hello, John!
Your age is 25

উদাহরণ 2: হেল্প দেখানো

java CommandLineExample -h

আউটপুট:

Usage: CommandLineExample
 -a <age>     Your age
 -h, --help   Show help
 -n <name>    Your name

উদাহরণ 3: শুধুমাত্র নাম সহ

java CommandLineExample -n Jane

আউটপুট:

Hello, Jane!

3. এরর হ্যান্ডলিং

যদি কমান্ড লাইন আর্গুমেন্টে কোনো ভুল থাকে, তবে ব্যবহারকারীর জন্য একটি সাহায্য বার্তা প্রদর্শন করা উচিত। এর জন্য HelpFormatter ব্যবহার করা হয়, যা কমান্ড লাইন আর্গুমেন্টের সাহায্য প্রদর্শন করে।

HelpFormatter formatter = new HelpFormatter();
formatter.printHelp("CommandLineExample", options);

এটি সঠিক আর্গুমেন্ট গুলো এবং তাদের ব্যাখ্যা দেখাবে।


সারাংশ

Apache Commons CLI লাইব্রেরি Option এর মাধ্যমে কমান্ড লাইন আর্গুমেন্ট গ্রহণ এবং প্রক্রিয়া করার একটি সহজ এবং কার্যকরী উপায় সরবরাহ করে। Option এর সাথে আর্গুমেন্ট যোগ করতে hasArg(true) ব্যবহার করতে হয় এবং cmd.getOptionValue() মেথডের মাধ্যমে আর্গুমেন্টের মান বের করা হয়। এই লাইব্রেরিটি কাস্টম কমান্ড লাইন আর্গুমেন্ট পার্সিংয়ের জন্য খুবই উপকারী এবং সাহায্যকারী।

Content added By
Promotion

Are you sure to start over?

Loading...