Beispiel #1
0
    public static void Unzip(Stream zipStream,
                             string targetDir,
                             ICSharpCode.SharpZipLib.Core.TotalProgressHandler hTotalProgress       = null,
                             ICSharpCode.SharpZipLib.Core.ProcessDirectoryHandler hProcessDirectory = null,
                             ICSharpCode.SharpZipLib.Core.ProcessFileHandler hProcessFile           = null,
                             ICSharpCode.SharpZipLib.Core.ProgressHandler hProgress                 = null,
                             ICSharpCode.SharpZipLib.Core.CompletedFileHandler hCompletedFile       = null,
                             ICSharpCode.SharpZipLib.Core.DirectoryFailureHandler hDirectoryFailure = null,
                             ICSharpCode.SharpZipLib.Core.FileFailureHandler hFileFailure           = null)
    {
        ICSharpCode.SharpZipLib.Zip.FastZipEvents2 events = new ICSharpCode.SharpZipLib.Zip.FastZipEvents2();
        events.TotalProgress    = hTotalProgress;
        events.ProcessDirectory = hProcessDirectory;
        events.ProcessFile      = hProcessFile;
        events.Progress         = hProgress;
        events.CompletedFile    = hCompletedFile;
        events.DirectoryFailure = hDirectoryFailure;
        events.FileFailure      = hFileFailure;
        events.ProgressInterval = TimeSpan.FromSeconds(0.5);

        mZip2 = new ICSharpCode.SharpZipLib.Zip.FastZip2(events);
        mZip2.ExtractZip(zipStream, targetDir, ICSharpCode.SharpZipLib.Zip.FastZip2.Overwrite.Always, null, null, null, true, true);
    }