Java में ZIP-आर्काइव के साथ कार्य: java.util.zip पर संपूर्ण मार्गदर्शिका

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

Java में ZIP-आर्काइव के साथ कार्य: संपूर्ण मार्गदर्शिका



आधुनिक Java विकास में, फ़ाइलों को पैकेज और अनपैक करने की आवश्यकता अक्सर उत्पन्न होती है। ZIP सबसे लोकप्रिय संपीड़न प्रारूपों में से एक है, जो Java मानक लाइब्रेरी द्वारा समर्थित है। अंतर्निहित पैकेज java.util.zip तृतीय-पक्ष निर्भरताओं को स्थापित किए बिना ZIP-आर्काइव के साथ कार्य करने के लिए सभी आवश्यक उपकरण प्रदान करता है।



java.util.zip पैकेज के मुख्य वर्ग



पैकेज java.util.zip में आर्काइव के साथ कार्य करने के लिए कई प्रमुख वर्ग शामिल हैं:



  • ZipOutputStream — ZIP-आर्काइव बनाने और उनमें फ़ाइलें लिखने के लिए
  • ZipInputStream — ZIP-आर्काइव की सामग्री पढ़ने के लिए
  • ZipEntry — आर्काइव के अंदर एक अलग प्रविष्टि (फ़ाइल या निर्देशिका) का प्रतिनिधित्व करता है
  • ZipFile — नाम के अनुसार आर्काइव प्रविष्टियों तक सीधी पहुँच के लिए
  • Deflater/Inflater — डेटा संपीड़न/डीकंप्रेसन के लिए निम्न-स्तरीय वर्ग


ZIP-आर्काइव बनाना



आर्काइव बनाने के लिए ZipOutputStream का उपयोग किया जाता है। प्रत्येक जोड़ी गई फ़ाइल को ZipEntry के रूप में दर्शाया जाता है। एक उदाहरण देखें जो कई फ़ाइलों को एक आर्काइव में पैकेज करता है:



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

public class CreateZipExample { public static void main(String[] args) { // आर्काइव करने के लिए फ़ाइलों की सरणी String[] sourceFiles = {"file1.txt", "file2.txt", "image.png"}; String zipFileName = "archive.zip";

try (ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(zipFileName))) { byte[] buffer = new byte[1024];

for (String filePath : sourceFiles) { File file = new File(filePath); // आर्काइव में प्रविष्टि बनाएं ZipEntry zipEntry = new ZipEntry(file.getName()); zos.putNextEntry(zipEntry);

// फ़ाइल पढ़ें और आर्काइव में लिखें try (FileInputStream fis = new FileInputStream(file)) { int length; while ((length = fis.read(buffer)) > 0) { zos.write(buffer, 0, length); } } zos.closeEntry(); } System.out.println("आर्काइव बनाया गया: " + zipFileName); } catch (IOException e) { e.printStackTrace(); } }}


ZIP-आर्काइव निकालना



आर्काइव पढ़ने के लिए ZipInputStream का उपयोग किया जाता है। विधि getNextEntry() क्रमिक रूप से आर्काइव की सभी प्रविष्टियाँ लौटाती है:



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

public class ExtractZipExample { public static void main(String[] args) { String zipFileName = "archive.zip"; String outputDir = "extracted_files";

new File(outputDir).mkdir();

try (ZipInputStream zis = new ZipInputStream(new FileInputStream(zipFileName))) { ZipEntry entry; byte[] buffer = new byte[1024];

while ((entry = zis.getNextEntry()) != null) { String fileName = entry.getName(); File newFile = new File(outputDir + File.separator + fileName);

// आवश्यकता पड़ने पर निर्देशिकाएँ बनाएं new File(newFile.getParent()).mkdirs();

try (FileOutputStream fos = new FileOutputStream(newFile)) { int length; while ((length = zis.read(buffer)) > 0) { fos.write(buffer, 0, length); } } zis.closeEntry(); System.out.println("निकाला गया: " + fileName); } } catch (IOException e) { e.printStackTrace(); } }}


यादृच्छिक पहुँच के लिए ZipFile के साथ कार्य

\

अनुशंसाएँ