C# Language
पढ़ना और लिखना। ज़िप फ़ाइलें
खोज…
वाक्य - विन्यास
- सार्वजनिक स्थैतिक ZipArchive OpenRead (स्ट्रिंग संग्रहफलनाम)
पैरामीटर
पैरामीटर | विवरण |
---|---|
archiveFileName | संग्रह के लिए रास्ता खोलने के लिए, एक रिश्तेदार या निरपेक्ष पथ के रूप में निर्दिष्ट। वर्तमान कार्य निर्देशिका के सापेक्ष एक सापेक्ष पथ की व्याख्या की जाती है। |
ज़िप फ़ाइल में लिखना
एक नई .zip फ़ाइल लिखने के लिए:
System.IO.Compression
System.IO.Compression.FileSystem
using (FileStream zipToOpen = new FileStream(@"C:\temp", FileMode.Open))
{
using (ZipArchive archive = new ZipArchive(zipToOpen, ZipArchiveMode.Update))
{
ZipArchiveEntry readmeEntry = archive.CreateEntry("Readme.txt");
using (StreamWriter writer = new StreamWriter(readmeEntry.Open()))
{
writer.WriteLine("Information about this package.");
writer.WriteLine("========================");
}
}
}
मेमोरी में जिप फाइल लिखना
निम्नलिखित उदाहरण फ़ाइल सिस्टम तक पहुँच की आवश्यकता के बिना, एक प्रदान की गई फ़ाइल के byte[]
डेटा को उसमें प्रदान की गई फ़ाइलों को वापस कर देगा।
public static byte[] ZipFiles(Dictionary<string, byte[]> files)
{
using (MemoryStream ms = new MemoryStream())
{
using (ZipArchive archive = new ZipArchive(ms, ZipArchiveMode.Update))
{
foreach (var file in files)
{
ZipArchiveEntry orderEntry = archive.CreateEntry(file.Key); //create a file with this name
using (BinaryWriter writer = new BinaryWriter(orderEntry.Open()))
{
writer.Write(file.Value); //write the binary data
}
}
}
//ZipArchive must be disposed before the MemoryStream has data
return ms.ToArray();
}
}
एक ज़िप फ़ाइल से फ़ाइलें प्राप्त करें
यह उदाहरण प्रदान किए गए ज़िप संग्रह बाइनरी डेटा से फ़ाइलों की एक सूची प्राप्त करता है:
public static Dictionary<string, byte[]> GetFiles(byte[] zippedFile)
{
using (MemoryStream ms = new MemoryStream(zippedFile))
using (ZipArchive archive = new ZipArchive(ms, ZipArchiveMode.Read))
{
return archive.Entries.ToDictionary(x => x.FullName, x => ReadStream(x.Open()));
}
}
private static byte[] ReadStream(Stream stream)
{
using (var ms = new MemoryStream())
{
stream.CopyTo(ms);
return ms.ToArray();
}
}
निम्न उदाहरण दिखाता है कि ज़िप संग्रह कैसे खोलें और सभी .txt फ़ाइलों को एक फ़ोल्डर में निकालें
using System;
using System.IO;
using System.IO.Compression;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string zipPath = @"c:\example\start.zip";
string extractPath = @"c:\example\extract";
using (ZipArchive archive = ZipFile.OpenRead(zipPath))
{
foreach (ZipArchiveEntry entry in archive.Entries)
{
if (entry.FullName.EndsWith(".txt", StringComparison.OrdinalIgnoreCase))
{
entry.ExtractToFile(Path.Combine(extractPath, entry.FullName));
}
}
}
}
}
}
Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow