Java का DeflaterOutputStream क्लास दिए गए डेटा को संपीड़ित करने और इसे गंतव्य तक स्ट्रीम करने के लिए उपयोग किया जाता है।
इस क्लास की write() विधि डेटा (पूर्णांक और बाइट प्रारूप में) स्वीकार करती है, इसे संपीड़ित करती है और, वर्तमान DeflaterOutputStream ऑब्जेक्ट के गंतव्य पर लिखती है। इस विधि का उपयोग करके फ़ाइल को संपीड़ित करने के लिए -
- FileInputStream ऑब्जेक्ट बनाएं, इसके कंस्ट्रक्टर में पैरामीटर के रूप में संपीड़ित की जाने वाली फ़ाइल का पथ स्ट्रिंग प्रारूप में पास करके।
- FileOutputStream ऑब्जेक्ट बनाएं, इसके कंस्ट्रक्टर में पैरामीटर के रूप में आउटपुट फ़ाइल का पथ स्ट्रिंग प्रारूप में पास करके।
- ऊपर बनाए गए FileOutputStream ऑब्जेक्ट को पैरामीटर के रूप में पास करके DeflaterOutputStream ऑब्जेक्ट बनाएं।
- फिर, इनपुट फ़ाइल की सामग्री को पढ़ें और DeflaterOutputStream क्लास की write() विधि का उपयोग करके लिखें।
उदाहरण
import java.io.FileOutputStream; import java.io.IOException; import java.util.zip.DeflaterOutputStream; public class CompressingFiles { public static void main(String args[]) throws IOException { //FileInputStream इंस्टेंशिएट करना String inputPath = "D:\\ExampleDirectory\\logo.jpg"; FileInputStream inputStream = new FileInputStream(inputPath); //FileOutputStream इंस्टेंशिएट करना String outputPath = "D:\\ExampleDirectory\\compressedLogo.txt"; FileOutputStream outputStream = new FileOutputStream(outputPath); //DeflaterOutputStream इंस्टेंशिएट करना DeflaterOutputStream compresser = new DeflaterOutputStream(outputStream); int contents; while ((contents=inputStream.read())!=-1){ compresser.write(contents); } compresser.close(); System.out.println("File compressed......."); } } आउटपुट
File compressed.......