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

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

গুয়াভা (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

Are you sure to start over?

Loading...