DotNetZip यहां आपका मित्र है।
इतना आसान जैसे की:
using (ZipFile zip = ZipFile.Read(ExistingZipFile))
{
ZipEntry e = zip["MyReport.doc"];
e.Extract(OutputStream);
}
(आप एक फ़ाइल या अन्य गंतव्यों के लिए भी निकाल सकते हैं)।
सामग्री की ज़िप फ़ाइल की तालिका पढ़ना उतना ही आसान है:
using (ZipFile zip = ZipFile.Read(ExistingZipFile))
{
foreach (ZipEntry e in zip)
{
if (header)
{
System.Console.WriteLine("Zipfile: {0}", zip.Name);
if ((zip.Comment != null) && (zip.Comment != ""))
System.Console.WriteLine("Comment: {0}", zip.Comment);
System.Console.WriteLine("\n{1,-22} {2,8} {3,5} {4,8} {5,3} {0}",
"Filename", "Modified", "Size", "Ratio", "Packed", "pw?");
System.Console.WriteLine(new System.String('-', 72));
header = false;
}
System.Console.WriteLine("{1,-22} {2,8} {3,5:F0}% {4,8} {5,3} {0}",
e.FileName,
e.LastModified.ToString("yyyy-MM-dd HH:mm:ss"),
e.UncompressedSize,
e.CompressionRatio,
e.CompressedSize,
(e.UsesEncryption) ? "Y" : "N");
}
}
नोट करने के लिए संपादित: डॉटनेटज़िप कोडप्लेक्स में रहती थी। कोडप्लेक्स को बंद कर दिया गया है। पुराना संग्रह अभी भी कोडप्लेक्स में उपलब्ध है । ऐसा लगता है कि कोड Github में स्थानांतरित हो गया है: