Zip-Archiv erstellen

  • alternative Verfahrensweise: Link
using System.IO;
using ICSharpCode.SharpZipLib.Zip; // http://www.icsharpcode.net/OpenSource/SharpZipLib/

static void ZipCompress(string sDir, string sZipFileName, string sComment)
{
    string[] sFiles = Directory.GetFiles(sDir);

    ZipOutputStream zipStream = new ZipOutputStream(File.Create(sZipFileName));

    // höchste Komprimierungsstufe
    zipStream.SetLevel(9);

    // Kommentar setzen
    zipStream.SetComment(sComment);

    for (int i = 0; i < sFiles.Length; i++)
    {
        FileStream fs = new FileStream(sFiles[i], FileMode.Open, FileAccess.Read);

        byte[] buffer = new byte[fs.Length];
        fs.Read(buffer, 0, buffer.Length);

        zipStream.PutNextEntry(new ZipEntry(sFiles[i]));
        zipStream.Write(buffer, 0, buffer.Length);
        
        fs.Close();
    }

    zipStream.Finish();
    zipStream.Close();
}