]
] ]
]
]
कोशिश {
फ़ाइल फ़ाइल = नई फ़ाइल (filePath);
स्ट्रिंग zipfilename = file.getName () ".zip";
FileOutputStream fos = new FileOutputStream (ZipFileName);
ZipoutputStream Zos = नया ZipoutputStream (FOS);
zos.putnextentry (नया zipentry (file.getName ()));
बाइट [] बाइट्स = files.readallbytes (paths.get (filePath));
zos.write (बाइट्स, 0, बाइट्स.लैंथ);
zos.closeentry ();
zos.close ();
} कैच (FileNotFoundException Ex) {
System.Err.Format ("फ़ाइल नहीं मिली: %s %n", filePath);
} पकड़ (ioException पूर्व) {
System.Err.println ("I/O त्रुटि:" EX);
}
]
]
fileInputStream का उपयोग करके स्रोत फ़ाइल से डेटा पढ़ें, deflateroutputstream
, और करीबी धाराओं को लिखें।
] fileOutputStream
, और क्लोज स्ट्रीम का उपयोग करके एक गंतव्य फ़ाइल में विघटित डेटा लिखें।
]
]
]
संपीड़न:
] FileOutputStream OutputStream = new FileOutputStream (outputPath); DeflaterOutputStream Compressor = नया DeflaterOutputStream (OutputStream); // ... इनपुटस्ट्रीम से कंप्रेसर तक डेटा लिखें ... compressor.close ();
विघटन:
] FileOutputStream OutputStream = new FileOutputStream (outputPath); InflaterInputStream decompressor = new InflaterInputStream (InputStream); // ... Decompressor से आउटपुटस्ट्रीम तक डेटा लिखें ... decompressor.close ();try {
File file = new File(filePath);
String zipFileName = file.getName() ".zip";
FileOutputStream fos = new FileOutputStream(zipFileName);
ZipOutputStream zos = new ZipOutputStream(fos);
zos.putNextEntry(new ZipEntry(file.getName()));
byte[] bytes = Files.readAllBytes(Paths.get(filePath));
zos.write(bytes, 0, bytes.length);
zos.closeEntry();
zos.close();
} catch (FileNotFoundException ex) {
System.err.format("File not found: %s%n", filePath);
} catch (IOException ex) {
System.err.println("I/O error: " ex);
}
दृष्टिकोण: ] मूल पाठ में पहले दिए गए उदाहरण एकल-फ़ाइल संपीड़न को zipoutputstream
और कई फ़ाइलों के लिए एक अधिक जटिल उदाहरण का उपयोग करके प्रदर्शित करते हैं। हैंडलिंग निर्देशिकाओं को निर्देशिका संरचना को पार करने के लिए पुनरावर्ती प्रसंस्करण की आवश्यकता होती है। ध्यान दें कि मूल कोड उदाहरणों में उचित फ़ाइल पथ हैंडलिंग और त्रुटि प्रबंधन का अभाव था, जिससेfilenotfoundException
हो गया। हमेशा मजबूत त्रुटि संभालने और अपने कोड में सही फ़ाइल पथ निर्दिष्ट करें। inflaterInputStream
के साथ -साथ उचित त्रुटि हैंडलिंग और फ़ाइल पथ प्रबंधन विश्वसनीय और कुशल संपीड़न उपयोगिताओं को बनाने के लिए महत्वपूर्ण है। हमेशा संभावित अपवादों को संभालने के लिए याद रखें और उपयोगकर्ता को उचित त्रुटि संदेश प्रदान करें।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3