DefaultParser এবং GnuParser এর ব্যবহার

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

191

Apache Commons CLI লাইব্রেরি কমান্ড লাইন আর্গুমেন্ট পার্সিংয়ের জন্য দুটি প্রধান পার্সার সরবরাহ করে: DefaultParser এবং GnuParser। দুটি পার্সারের মধ্যে পার্থক্য রয়েছে এবং তারা বিভিন্ন ধরনের কমান্ড লাইন আর্গুমেন্ট স্টাইল পরিচালনা করে। DefaultParser সাধারণ কমান্ড লাইন আর্গুমেন্ট এবং অপশন পার্স করতে ব্যবহৃত হয়, যেখানে GnuParser GNU স্টাইলের অপশন পার্স করার জন্য ব্যবহৃত হয়।

এখানে DefaultParser এবং GnuParser এর ব্যবহার এবং তাদের মধ্যে পার্থক্য ব্যাখ্যা করা হয়েছে।


1. DefaultParser

DefaultParser কমান্ড লাইন আর্গুমেন্ট পার্স করার জন্য একটি সাধারণ পার্সার। এটি সাধারণত কমান্ড লাইন আর্গুমেন্টগুলি যেগুলি - বা -- দিয়ে শুরু হয় সেগুলিকে পার্স করে। এটি কমপ্যাক্ট এবং সরল আর্গুমেন্ট স্টাইলগুলির জন্য ব্যবহৃত হয়, যেমন:

  • -n John
  • --name John

DefaultParser একটি সহজ, ডিফল্ট স্টাইলের পার্সিংয়ের জন্য ব্যবহৃত হয়।

উদাহরণ: DefaultParser ব্যবহার

import org.apache.commons.cli.*;

public class CommandLineExample {

    public static void main(String[] args) {
        // Option অবজেক্ট তৈরি করা
        Options options = new Options();
        
        // --name এবং --age অপশন তৈরি করা
        options.addOption("n", "name", true, "Your name");
        options.addOption("a", "age", true, "Your age");

        // DefaultParser দিয়ে আর্গুমেন্ট পার্স করা
        CommandLineParser parser = new DefaultParser();
        CommandLine cmd = null;

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

            // নাম অপশন চেক করা
            if (cmd.hasOption("n")) {
                String name = cmd.getOptionValue("n");
                System.out.println("Name: " + name);
            }

            // বয়স অপশন চেক করা
            if (cmd.hasOption("a")) {
                String age = cmd.getOptionValue("a");
                System.out.println("Age: " + age);
            }

        } catch (ParseException e) {
            System.out.println("Parsing failed. Reason: " + e.getMessage());
        }
    }
}

আউটপুট:

যদি আপনি এই কোডটি java CommandLineExample -n John -a 25 চালান, তাহলে আউটপুট হবে:

Name: John
Age: 25

এখানে, DefaultParser স্টাইলের মধ্যে -n এবং --name অপশন কাজ করছে এবং এটি সঠিকভাবে আর্গুমেন্টগুলি পার্স করছে।


2. GnuParser

GnuParser একটি বিশেষ ধরনের পার্সার যা GNU স্টাইলের কমান্ড লাইন আর্গুমেন্ট পার্স করতে ব্যবহৃত হয়। এই স্টাইলের মধ্যে অপশনগুলি সাধারণত - অথবা -- দিয়ে শুরু হয়, এবং আর্গুমেন্টগুলি মুল অপশনের পরে স্পেস দিয়ে দেওয়া হয়। যেমন:

  • -n John
  • --name=John

এছাড়াও, GNU স্টাইলের মধ্যে একটি অপশন আর্গুমেন্ট বাদ দিয়েও কাজ করতে পারে, যেমন -n John এর পরিবর্তে -n এবং পরে আর্গুমেন্ট দিতে হবে না।

উদাহরণ: GnuParser ব্যবহার

import org.apache.commons.cli.*;

public class CommandLineExample {

    public static void main(String[] args) {
        // Option অবজেক্ট তৈরি করা
        Options options = new Options();
        
        // --name এবং --age অপশন তৈরি করা
        options.addOption("n", "name", true, "Your name");
        options.addOption("a", "age", true, "Your age");

        // GnuParser দিয়ে আর্গুমেন্ট পার্স করা
        CommandLineParser parser = new GnuParser();
        CommandLine cmd = null;

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

            // নাম অপশন চেক করা
            if (cmd.hasOption("n")) {
                String name = cmd.getOptionValue("n");
                System.out.println("Name: " + name);
            }

            // বয়স অপশন চেক করা
            if (cmd.hasOption("a")) {
                String age = cmd.getOptionValue("a");
                System.out.println("Age: " + age);
            }

        } catch (ParseException e) {
            System.out.println("Parsing failed. Reason: " + e.getMessage());
        }
    }
}

আউটপুট:

যদি আপনি এই কোডটি java CommandLineExample --name=John --age=25 চালান, তাহলে আউটপুট হবে:

Name: John
Age: 25

এখানে GnuParser ব্যবহার করে অপশন এবং আর্গুমেন্টগুলি --name=John এবং --age=25 ফরম্যাটে পার্স করা হয়েছে।


3. DefaultParser এবং GnuParser এর মধ্যে পার্থক্য

বৈশিষ্ট্যDefaultParserGnuParser
অপশন স্টাইল-n John বা --name John-n=John বা --name=John
আর্গুমেন্টের অবস্থানঅপশন এবং আর্গুমেন্ট একে অপরের পরে থাকতে হবেঅপশন এবং আর্গুমেন্ট একত্রে একই স্থানে থাকতে পারে
যথাযথ আর্গুমেন্ট প্রসেসিংকমান্ড লাইন স্টাইলের জন্য সহজ পার্সিংGNU স্টাইলের আর্গুমেন্ট, যেমন --option=value
কাস্টমাইজেশনসাধারন ব্যবহারের জন্য উপযুক্তGNU ফর্ম্যাটের জন্য উপযুক্ত

সারাংশ

DefaultParser এবং GnuParser হল দুটি প্রধান পার্সার যা Apache Commons CLI লাইব্রেরি দ্বারা প্রদান করা হয়। DefaultParser সাধারণ কমান্ড লাইন আর্গুমেন্ট পার্সিংয়ের জন্য ব্যবহৃত হয়, যেখানে আর্গুমেন্ট এবং অপশন একে অপরের পরে থাকে। অন্যদিকে, GnuParser GNU স্টাইলের অপশন এবং আর্গুমেন্ট হ্যান্ডল করতে ব্যবহৃত হয়, যা অপশন এবং আর্গুমেন্টের মধ্যে সমান চিহ্ন (=) ব্যবহার করে। আপনার প্রয়োজনে উপযুক্ত পার্সার নির্বাচন করে সহজে কমান্ড লাইন আর্গুমেন্ট প্রসেস করা সম্ভব।

Content added By
Promotion

Are you sure to start over?

Loading...