GZipInputStream এর মাধ্যমে ফাইল Uncompress করা

GZip ফাইল Compress এবং Uncompress করা - জাভা জিপ (Java Zip) - Java Technologies

240

GZipInputStream Java এর java.util.zip প্যাকেজের একটি ক্লাস, যা GZIP ফাইল কমপ্রেসড ফরম্যাট থেকে ডেটা আনকম্প্রেস (decompress) করার জন্য ব্যবহৃত হয়। GZIP হলো একটি জনপ্রিয় কমপ্রেসন ফরম্যাট যা সাধারণত ফাইল কমপ্রেস করার জন্য ব্যবহৃত হয়, বিশেষ করে টেক্সট ফাইল বা লগ ফাইল কমপ্রেস করতে।

GZipInputStream ব্যবহার করে আপনি GZIP কমপ্রেসড ফাইল থেকে ডেটা আনকম্প্রেস করতে পারেন এবং এটি একটি InputStream এর মতো কাজ করে, যার মাধ্যমে আপনি ডেটা স্ট্রীমের মাধ্যমে ফাইলটি পড়তে পারেন।

GZipInputStream এর মাধ্যমে ফাইল Uncompress করার পদ্ধতি:

  1. GZIP ফাইল খুলুন: প্রথমে একটি FileInputStream তৈরি করুন যা GZIP ফাইলটি পড়বে।
  2. GZipInputStream তৈরি করুন: GZipInputStream ব্যবহার করে আপনি GZIP ফাইলটি আনকম্প্রেস করতে পারবেন।
  3. ফাইলের ডেটা পড়ুন: এরপর আপনি read() মেথড ব্যবহার করে ফাইলের ডেটা পড়তে পারবেন এবং আনকম্প্রেসড ডেটা প্রসেস করতে পারবেন।
  4. ফাইলের ডেটা একটি নতুন ফাইলে লিখুন: আনকম্প্রেসড ডেটা একটি নতুন ফাইলে লেখার জন্য FileOutputStream ব্যবহার করতে পারেন।

GZipInputStream এর মাধ্যমে ফাইল Uncompress করার উদাহরণ:

import java.io.*;
import java.util.zip.*;

public class GZipDecompressExample {
    public static void main(String[] args) {
        // GZIP ফাইলের ইনপুট এবং আউটপুট ফাইলের পাথ
        String inputFile = "compressed-file.gz"; // কমপ্রেসড GZIP ফাইল
        String outputFile = "decompressed-file.txt"; // আউটপুট আনকম্প্রেসড ফাইল
        
        try {
            // GZIP ফাইল থেকে ইনপুট স্ট্রীম তৈরি করা
            FileInputStream fis = new FileInputStream(inputFile);
            GZIPInputStream gis = new GZIPInputStream(fis);
            
            // আউটপুট ফাইলের জন্য আউটপুট স্ট্রীম তৈরি করা
            FileOutputStream fos = new FileOutputStream(outputFile);
            byte[] buffer = new byte[1024];
            int length;
            
            // ফাইল থেকে ডেটা পড়ুন এবং আউটপুট ফাইলে লেখুন
            while ((length = gis.read(buffer)) > 0) {
                fos.write(buffer, 0, length);
            }
            
            // স্ট্রীম বন্ধ করুন
            gis.close();
            fos.close();
            fis.close();
            
            System.out.println("ফাইল আনকম্প্রেসড সফলভাবে সম্পন্ন হয়েছে।");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Code Explanation:

  1. FileInputStream fis: প্রথমে FileInputStream ব্যবহার করে GZIP কমপ্রেসড ফাইলটি পড়া হয়।
  2. GZIPInputStream gis: GZIPInputStream ব্যবহার করা হয় যাতে কমপ্রেসড ফাইলটি আনকম্প্রেস করা যায়। এটি একটি স্ট্রীমের মাধ্যমে কমপ্রেসড ডেটা পড়তে সক্ষম।
  3. FileOutputStream fos: আউটপুট ফাইলের জন্য FileOutputStream তৈরি করা হয় যাতে আনকম্প্রেসড ডেটা একটি নতুন ফাইলে লেখা যায়।
  4. gis.read(buffer): read() মেথড ব্যবহার করে GZIP ফাইল থেকে ডেটা পড়া হয় এবং buffer এ রেখে আউটপুট ফাইলে লেখা হয়।
  5. স্ট্রীম বন্ধ করা: কাজ শেষ হওয়ার পর, সব স্ট্রীম (GZIPInputStream, FileOutputStream, FileInputStream) বন্ধ করা হয়।

GZipInputStream ব্যবহার করার সুবিধা:

  • Memory Efficient: GZipInputStream স্ট্রীমিংয়ের মাধ্যমে ডেটা আনকম্প্রেস করে, ফলে এটি মেমরি কম ব্যবহার করে।
  • Easy to Integrate: এটি খুব সহজে Java অ্যাপ্লিকেশনগুলিতে ইন্টিগ্রেট করা যায় এবং GZIP ফাইল ডেটাকে প্রসেস করার জন্য কোনো অতিরিক্ত কনফিগারেশন দরকার হয় না।
  • File Handling: GZIP ফাইলের ডেটা একটি নতুন ফাইলে আনকম্প্রেস করার জন্য FileOutputStream ব্যবহার করে খুব সহজে কাজ করা যায়।

GZipInputStream একটি শক্তিশালী Java ক্লাস যা GZIP ফাইল কমপ্রেসড ফরম্যাট থেকে ডেটা আনকম্প্রেস করার জন্য ব্যবহৃত হয়। এটি খুবই কার্যকরী যখন আপনার কাছে GZIP ফাইল থাকে এবং সেগুলি সহজে এবং দ্রুত আনকম্প্রেস করে কাজ করতে হয়।

Content added By
Promotion

Are you sure to start over?

Loading...