Efficient String Handling এবং I/O Performance গাইড ও নোট

Java Technologies - গুয়াভা (Guava) - Performance Optimization এবং Best Practices
319

গুয়াভা (Guava) হলো গুগলের একটি ওপেন-সোর্স লাইব্রেরি যা Java-তে উন্নত কার্যকারিতা এবং কার্যকর কোড লেখার জন্য বিভিন্ন ইউটিলিটি সরবরাহ করে। এটি বিশেষভাবে String handling এবং I/O performance বৃদ্ধির জন্য কার্যকর। নিচে এই দুটি ক্ষেত্রে Guava-এর ভূমিকা ব্যাখ্যা করা হলো:


Efficient String Handling

Guava-এর com.google.common.base প্যাকেজে এমন অনেক ক্লাস এবং মেথড রয়েছে যা স্ট্রিং প্রসেসিং এবং ম্যানিপুলেশনের জন্য ব্যবহৃত হয়:

১. Joiner এবং Splitter:

  • Joiner: একাধিক String বা Collection-এর String-কে নির্দিষ্ট ডিলিমিটার দিয়ে একত্রিত করতে ব্যবহৃত হয়।

    String result = Joiner.on(", ").skipNulls().join("Apple", null, "Banana", "Cherry");
    System.out.println(result); // Output: Apple, Banana, Cherry
    
  • Splitter: একটি String-কে বিভিন্ন সাবস্ট্রিং-এ বিভক্ত করতে ব্যবহৃত হয়।

    Iterable<String> parts = Splitter.on(',')
                                     .trimResults()
                                     .omitEmptyStrings()
                                     .split("Apple, Banana, , Cherry, ");
    parts.forEach(System.out::println); // Output: Apple, Banana, Cherry
    

২. Strings Utility Class:

Guava-এর Strings ক্লাসে স্ট্রিং প্রসেসিংয়ের জন্য বিভিন্ন মেথড রয়েছে:

  • Strings.isNullOrEmpty(String) : Null বা খালি স্ট্রিং যাচাই।
  • Strings.padStart(String, int, char) : স্ট্রিং-কে নির্দিষ্ট দৈর্ঘ্যে পূরণ।
  • Strings.repeat(String, int) : একটি স্ট্রিং বারবার পুনরাবৃত্তি।

৩. Charsets:

Guava সহজে স্ট্রিং এনকোডিংয়ের জন্য Charsets সরবরাহ করে:

String utf8String = new String(byteArray, Charsets.UTF_8);

I/O Performance Optimization

Guava-এর com.google.common.io প্যাকেজটি I/O অপারেশন সহজ এবং কার্যকর করতে বিভিন্ন টুল প্রদান করে:

১. Files Utility Class:

  • File to String বা Byte Conversion:

    String content = Files.asCharSource(new File("example.txt"), Charsets.UTF_8).read();
    byte[] bytes = Files.toByteArray(new File("example.txt"));
    
  • Copying Files:

    File source = new File("source.txt");
    File destination = new File("destination.txt");
    Files.copy(source, destination);
    

২. Buffered Streams:

Guava সহজে বাফারড I/O অপারেশনের জন্য ByteStreams এবং CharStreams সরবরাহ করে:

  • ByteStreams:

    try (InputStream input = new FileInputStream("input.txt");
         OutputStream output = new FileOutputStream("output.txt")) {
        ByteStreams.copy(input, output);
    }
    
  • CharStreams:

    try (Reader reader = new FileReader("input.txt")) {
        String content = CharStreams.toString(reader);
    }
    

৩. Resources Management:

Guava Closer ক্লাসের মাধ্যমে রিসোর্স ম্যানেজমেন্ট আরও কার্যকর করে:

Closer closer = Closer.create();
try {
    InputStream in = closer.register(new FileInputStream("input.txt"));
    OutputStream out = closer.register(new FileOutputStream("output.txt"));
    ByteStreams.copy(in, out);
} catch (Throwable e) {
    closer.rethrow(e);
} finally {
    closer.close();
}

Guava লাইব্রেরি Java ডেভেলপারদের স্ট্রিং ম্যানিপুলেশন এবং I/O অপারেশন সহজ, কার্যকর, এবং উচ্চ-দক্ষতায় সম্পাদন করতে সহায়তা করে। এই ফিচারগুলো বড় প্রজেক্টে পারফরমেন্স বৃদ্ধি এবং কোড সিম্পলিফিকেশন নিশ্চিত করে।

Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...